ActivityDesignerPaint.DrawImage 方法

定義

在活動設計工具介面上繪製影像。Draws an image on the activity designer surface.

多載

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

使用 GraphicsImageRectangleDesignerContentAlignment,在活動設計工具介面上繪製影像。Draws an image on the activity designer surface by using a Graphics, an Image, a Rectangle, and a DesignerContentAlignment.

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

使用 GraphicsImage、一個來源和目的 RectangleDesignerContentAlignment、單精確度浮點數和布林值,在活動設計工具介面上繪製影像。Draws an image on the activity designer surface by using a Graphics, an Image, a source and destination Rectangle, an DesignerContentAlignment, a single-precision floating-point number, and a Boolean value.

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

使用 GraphicsImageRectangleDesignerContentAlignment,在活動設計工具介面上繪製影像。Draws an image on the activity designer surface by using a Graphics, an Image, a Rectangle, and a 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

參數

graphics
Graphics

要在其上繪製影像的 GraphicsThe Graphics on which to draw the image.

image
Image

要繪製的 ImageThe Image to draw.

destination
Rectangle

Rectangle,定義要繪製之影像的界限。The Rectangle that defines the bounds of the image to draw.

alignment
DesignerContentAlignment

DesignerContentAlignment,指定影像在週框中對齊的方式。The DesignerContentAlignment that specifies how the image is aligned in the bounding rectangle.

例外狀況

graphicsimagedestination 包含 null 參考 (Visual Basic 中為 Nothing)。graphics, image, or destination contains a null reference (Nothing in Visual Basic).

範例

下列範例將示範使用 ActivityDesignerPaint 類別在工作流程設計介面上繪製自訂活動。The following example demonstrates a way to use the ActivityDesignerPaint class to draw a custom activity on the workflow design surface. 先使用 DrawRoundedRectangle 方法來繪製圓角矩形。A rounded rectangle is first drawn using the DrawRoundedRectangle method. 然後,使用 DrawText 繪製文字,並放置在 TextRectangleActivityDesigner 位置。Text is then drawn using DrawText and is placed at the location of the TextRectangle of the ActivityDesigner. 此外,與 Image 相關聯的 ActivityDesigner 是使用 DrawImage 類別的 ActivityDesignerPaint 方法進行繪製的。Additionally, the Image associated with the ActivityDesigner is drawn using the DrawImage method of the ActivityDesignerPaint class. 最後,CompositeActivity 所使用的展開按鈕是使用 DrawExpandButton 繪製的。Finally, an expand button used by a CompositeActivity is drawn using the 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

備註

當您使用此版本的 DrawImage 時,來源矩形將設為影像大小 (以像素為單位),透明度設定為 1.0f,且不允許繪製灰階。When you use this version of DrawImage, the source rectangle is set to the size, in pixels, of the image, the transparency setting is set to 1.0f, and drawing grayscales is not allowed.

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

使用 GraphicsImage、一個來源和目的 RectangleDesignerContentAlignment、單精確度浮點數和布林值,在活動設計工具介面上繪製影像。Draws an image on the activity designer surface by using a Graphics, an Image, a source and destination Rectangle, an DesignerContentAlignment, a single-precision floating-point number, and a Boolean value.

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

參數

graphics
Graphics

要在其上繪製影像的 GraphicsThe Graphics on which to draw the image.

image
Image

要繪製的 ImageThe Image to draw.

destination
Rectangle

Rectangle,定義影像界限。The Rectangle that defines the bounds of the image.

source
Rectangle

Rectangle,定義影像來源。The Rectangle that defines the source of the image.

alignment
DesignerContentAlignment

DesignerContentAlignment,指定影像在週框中對齊的方式。The DesignerContentAlignment that specifies how the image is aligned in the bounding rectangle.

transparency
Single

定義影像透明度設定的單精確度浮點數。A single-precision floating-point number that defines the transparency settings for the image.

grayscale
Boolean

true 表示以灰階繪製影像,否則為 falsetrue to draw the image in grayscales; otherwise, false.

例外狀況

graphicsimagedestinationsource 包含 null 參考 (在 Visual Basic 中為 Nothing)。graphics, image, destination, or source contains a null reference (Nothing in Visual Basic).

-或--or- transparency 小於 0 或大於 1.0f。transparency is less than 0, or greater than 1.0f.

適用於