Compartir a través de


Dibujo de líneas opacas y semitransparentes

Al dibujar una línea, debe pasar la dirección de un objeto Pen al método DrawLine de la clase Graphics . Uno de los parámetros del constructor Pen es un objeto Color . Para dibujar una línea opaca, establezca el componente alfa del color en 255. Para dibujar una línea semitransparente, establezca el componente alfa en cualquier valor entre 1 y 254.

Cuando se dibuja una línea semitransparente sobre un fondo, el color de la línea se mezcla con los colores del fondo. El componente alfa especifica cómo se mezclan los colores de línea y fondo; los valores alfa cerca de 0 colocan más peso en los colores de fondo y los valores alfa cerca de 255 colocan más peso en el color de línea.

En el ejemplo siguiente se dibuja una imagen y, a continuación, se dibujan tres líneas que usan la imagen como fondo. La primera línea usa un componente alfa de 255, por lo que es opaca. La segunda y tercera líneas usan un componente alfa de 128, por lo que son semitransparentes; puede ver la imagen de fondo a través de las líneas. La llamada a Graphics::SetCompositingQuality hace que la mezcla de la tercera línea se realice junto con la corrección gamma.

Image image(L"Texture1.jpg");
graphics.DrawImage(&image, 10, 5, image.GetWidth(), image.GetHeight());
Pen opaquePen(Color(255, 0, 0, 255), 15);
Pen semiTransPen(Color(128, 0, 0, 255), 15);
graphics.DrawLine(&opaquePen, 0, 20, 100, 20);
graphics.DrawLine(&semiTransPen, 0, 40, 100, 40);
graphics.SetCompositingQuality(CompositingQualityGammaCorrected);
graphics.DrawLine(&semiTransPen, 0, 60, 100, 60);

En la ilustración siguiente se muestra la salida del código anterior.

ilustración que muestra una imagen superpuesta por tres líneas anchas: una opaca, una ligeramente transparente y una muy transparente