Compartir vía


ActivityDesignerPaint.DrawImage Método

Definición

Dibuja una imagen en la superficie del diseñador de actividad.

Sobrecargas

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Dibuja una imagen en la superficie del diseñador de actividad utilizando Graphics, Image, Rectangle y DesignerContentAlignment.

DrawImage(Graphics, Image, Rectangle, Rectangle, DesignerContentAlignment, Single, Boolean)

Dibuja una imagen en la superficie del diseñador de actividad utilizando Graphics, Image, un origen y un destino Rectangle, DesignerContentAlignment, un número de punto flotante de precisión sencilla y un valor booleano.

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Dibuja una imagen en la superficie del diseñador de actividad utilizando Graphics, Image, Rectangle y DesignerContentAlignment.

public:
 static void DrawImage(System::Drawing::Graphics ^ graphics, System::Drawing::Image ^ image, System::Drawing::Rectangle destination, System::Workflow::ComponentModel::Design::DesignerContentAlignment alignment);
public static void DrawImage (System.Drawing.Graphics graphics, System.Drawing.Image image, System.Drawing.Rectangle destination, System.Workflow.ComponentModel.Design.DesignerContentAlignment alignment);
static member DrawImage : System.Drawing.Graphics * System.Drawing.Image * System.Drawing.Rectangle * System.Workflow.ComponentModel.Design.DesignerContentAlignment -> unit
Public Shared Sub DrawImage (graphics As Graphics, image As Image, destination As Rectangle, alignment As DesignerContentAlignment)

Parámetros

graphics
Graphics

Graphics en el que se va a dibujar la imagen.

image
Image

Image que se va a dibujar.

destination
Rectangle

Rectangle que define los límites de la imagen para dibujar.

alignment
DesignerContentAlignment

DesignerContentAlignment que especifica cómo la imagen está alineada en el rectángulo delimitador.

Excepciones

graphics, image o destination contiene una referencia nula (Nothing en Visual Basic).

Ejemplos

El ejemplo siguiente muestra una manera de utilizar la clase ActivityDesignerPaint para dibujar una actividad personalizada en la superficie de diseño del flujo de trabajo. Un rectángulo redondeado se dibuja utilizando primero el método DrawRoundedRectangle. El texto se dibuja utilizando a continuación DrawText y se coloca en la ubicación de TextRectangle de ActivityDesigner. Además, el Image asociado a ActivityDesigner se dibuja utilizando el método DrawImage de la clase ActivityDesignerPaint. Finalmente, se dibuja un botón de expansión utilizado por CompositeActivity utilizando DrawExpandButton.

private bool expanded = true;
private bool useBasePaint = false;

public bool UseBasePaint
{
    get { return this.useBasePaint; }
    set { this.useBasePaint = value; }
}

public bool Expanded
{
    get { return this.expanded; }
    set { this.expanded = value; }
}

protected override void OnPaint(ActivityDesignerPaintEventArgs e)
{
    if (this.UseBasePaint == true)
    {
        base.OnPaint(e);
        return;
    }

    DrawCustomActivity(e);
}

private void DrawCustomActivity(ActivityDesignerPaintEventArgs e)
{
    Graphics graphics = e.Graphics;

    CompositeDesignerTheme compositeDesignerTheme = (CompositeDesignerTheme)e.DesignerTheme;

    ActivityDesignerPaint.DrawRoundedRectangle(graphics, compositeDesignerTheme.BorderPen, this.Bounds, compositeDesignerTheme.BorderWidth);

    string text = this.Text;
    Rectangle textRectangle = this.TextRectangle;
    if (!string.IsNullOrEmpty(text) && !textRectangle.IsEmpty)
    {
        ActivityDesignerPaint.DrawText(graphics, compositeDesignerTheme.Font, text, textRectangle, StringAlignment.Center, e.AmbientTheme.TextQuality, compositeDesignerTheme.ForegroundBrush);
    }

    System.Drawing.Image image = this.Image;
    Rectangle imageRectangle = this.ImageRectangle;
    if (image != null && !imageRectangle.IsEmpty)
    {
        ActivityDesignerPaint.DrawImage(graphics, image, imageRectangle, DesignerContentAlignment.Fill);
    }

    ActivityDesignerPaint.DrawExpandButton(graphics,
        new Rectangle(this.Location.X, this.Location.Y, 10, 10),
        this.Expanded,
        compositeDesignerTheme);
}
Private expandedValue As Boolean = True
Private useBasePaintValue As Boolean = False

Public Property UseBasePaint() As Boolean
    Get
        Return Me.useBasePaintValue
    End Get

    Set(ByVal value As Boolean)
        Me.useBasePaintValue = value
    End Set
End Property

Public Property Expanded() As Boolean
    Get
        Return Me.expandedValue
    End Get
    Set(ByVal value As Boolean)
        Me.expandedValue = value
    End Set
End Property


Protected Overrides Sub OnPaint(ByVal e As ActivityDesignerPaintEventArgs)
    If Me.UseBasePaint = True Then
        MyBase.OnPaint(e)
        Return
    End If

    DrawCustomActivity(e)
End Sub

Private Sub DrawCustomActivity(ByVal e As ActivityDesignerPaintEventArgs)
    Dim graphics As Graphics = e.Graphics

    Dim compositeDesignerTheme As CompositeDesignerTheme = CType(e.DesignerTheme, CompositeDesignerTheme)

    ActivityDesignerPaint.DrawRoundedRectangle(graphics, compositeDesignerTheme.BorderPen, Me.Bounds, compositeDesignerTheme.BorderWidth)

    Dim text As String = Me.Text
    Dim TextRectangle As Rectangle = Me.TextRectangle
    If Not String.IsNullOrEmpty(text) And Not TextRectangle.IsEmpty Then
        ActivityDesignerPaint.DrawText(graphics, compositeDesignerTheme.Font, text, TextRectangle, StringAlignment.Center, e.AmbientTheme.TextQuality, compositeDesignerTheme.ForegroundBrush)
    End If

    Dim Image As System.Drawing.Image = Me.Image
    Dim ImageRectangle As Rectangle = Me.ImageRectangle
    If Image IsNot Nothing And Not ImageRectangle.IsEmpty Then
        ActivityDesignerPaint.DrawImage(graphics, Image, ImageRectangle, DesignerContentAlignment.Fill)
    End If

    ActivityDesignerPaint.DrawExpandButton(graphics, _
        New Rectangle(Me.Location.X, Me.Location.Y, 10, 10), _
        Me.Expanded, _
        compositeDesignerTheme)
End Sub

Comentarios

Al utilizar esta versión de DrawImage, el rectángulo de origen está establecido en el tamaño, en píxeles, de la imagen, el valor de transparencia está establecido en 1.0f y no se permiten dibujar escalas de grises.

Se aplica a

DrawImage(Graphics, Image, Rectangle, Rectangle, DesignerContentAlignment, Single, Boolean)

Dibuja una imagen en la superficie del diseñador de actividad utilizando Graphics, Image, un origen y un destino Rectangle, DesignerContentAlignment, un número de punto flotante de precisión sencilla y un valor booleano.

public:
 static void DrawImage(System::Drawing::Graphics ^ graphics, System::Drawing::Image ^ image, System::Drawing::Rectangle destination, System::Drawing::Rectangle source, System::Workflow::ComponentModel::Design::DesignerContentAlignment alignment, float transparency, bool grayscale);
public static void DrawImage (System.Drawing.Graphics graphics, System.Drawing.Image image, System.Drawing.Rectangle destination, System.Drawing.Rectangle source, System.Workflow.ComponentModel.Design.DesignerContentAlignment alignment, float transparency, bool grayscale);
static member DrawImage : System.Drawing.Graphics * System.Drawing.Image * System.Drawing.Rectangle * System.Drawing.Rectangle * System.Workflow.ComponentModel.Design.DesignerContentAlignment * single * bool -> unit
Public Shared Sub DrawImage (graphics As Graphics, image As Image, destination As Rectangle, source As Rectangle, alignment As DesignerContentAlignment, transparency As Single, grayscale As Boolean)

Parámetros

graphics
Graphics

Graphics en el que se va a dibujar la imagen.

image
Image

Image que se va a dibujar.

destination
Rectangle

Rectangle que define los límites de la imagen.

source
Rectangle

Rectangle que define el origen de la imagen.

alignment
DesignerContentAlignment

DesignerContentAlignment que especifica cómo la imagen está alineada en el rectángulo delimitador.

transparency
Single

Un número de punto flotante de precisión sencilla que define los valores de transparencia de la imagen.

grayscale
Boolean

true para dibujar la imagen en escalas de grises; de lo contrario, false.

Excepciones

graphics, image, destination, o source contiene una referencia nula (Nothing en Visual Basic).

o bien transparency es menor que 0 ó mayor que 1.0f.

Se aplica a