ActivityDesignerPaint.DrawImage Metoda

Definice

Nakreslí obrázek na ploše návrháře aktivit.

Přetížení

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Nakreslí obrázek na ploše návrháře aktivit pomocí objektu Graphics, a Image, a RectangleDesignerContentAlignment.

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

Nakreslí obrázek na ploše návrháře aktivit pomocí Graphicshodnoty , zdroje Imagea cíle Rectangle, DesignerContentAlignmentjednopřesné číslo s plovoucí desetinou čárkou a logická hodnota.

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Nakreslí obrázek na ploše návrháře aktivit pomocí objektu Graphics, a Image, a RectangleDesignerContentAlignment.

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)

Parametry

graphics
Graphics

Nakreslení Graphics obrázku

image
Image

Nakreslení Image .

destination
Rectangle

Ten Rectangle definuje hranice obrázku, které se mají kreslit.

alignment
DesignerContentAlignment

Určuje DesignerContentAlignment , jak je obrázek zarovnán do ohraničujícího obdélníku.

Výjimky

graphics, imagenebo destination obsahuje odkaz null (Nothing v Visual Basic).

Příklady

Následující příklad ukazuje způsob použití ActivityDesignerPaint třídy k kreslení vlastní aktivity na návrhové ploše pracovního postupu. Zaokrouhlený obdélník je nejprve nakreslený pomocí DrawRoundedRectangle metody. Text je pak nakreslen pomocí DrawText a je umístěn na místě TextRectangle ovládacího ActivityDesignermísta . Kromě toho je Image přidružen k objektu ActivityDesigner je vykreslen pomocí DrawImage metody ActivityDesignerPaint třídy. Nakonec se pomocí tlačítka DrawExpandButtonrozbalení, které CompositeActivity používá

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

Poznámky

Pokud používáte tuto verzi DrawImage, zdrojový obdélník je nastaven na velikost obrázku v pixelech, nastavení průhlednosti je nastaveno na 1,0f a kreslení stupně šedé není povoleno.

Platí pro

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

Nakreslí obrázek na ploše návrháře aktivit pomocí Graphicshodnoty , zdroje Imagea cíle Rectangle, DesignerContentAlignmentjednopřesné číslo s plovoucí desetinou čárkou a logická hodnota.

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)

Parametry

graphics
Graphics

Nakreslení Graphics obrázku

image
Image

Nakreslení Image .

destination
Rectangle

Ten Rectangle definuje hranice obrázku.

source
Rectangle

Ten Rectangle definuje zdroj image.

alignment
DesignerContentAlignment

Určuje DesignerContentAlignment , jak je obrázek zarovnán do ohraničujícího obdélníku.

transparency
Single

Jednopřesné číslo s plovoucí desetinou čárkou, které definuje nastavení průhlednosti obrázku.

grayscale
Boolean

truekreslit obrázek ve stupních šedé; v opačném případě . false

Výjimky

graphics, image, nebo destinationsource obsahuje odkaz null (Nothing v Visual Basic).

-nebo- transparency je menší než 0 nebo větší než 1,0f.

Platí pro