ActivityDesignerPaint.DrawImage メソッド

定義

アクティビティ デザイナー画面にイメージを描画します。

オーバーロード

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

GraphicsImageRectangle、および DesignerContentAlignment を使用して、アクティビティ デザイナー画面にイメージを描画します。

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

GraphicsImageRectangleDesignerContentAlignment、単精度浮動小数点数、およびブール値を使用して、アクティビティ デザイナー画面にイメージを描画します。

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

GraphicsImageRectangle、および 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)

パラメーター

graphics
Graphics

イメージを描画する Graphics

image
Image

描画する Image

destination
Rectangle

描画するイメージの境界を定義する Rectangle

alignment
DesignerContentAlignment

イメージを外接する四角形にどのように配置するかを指定する DesignerContentAlignment

例外

graphicsimage、または destination に null 参照 (Visual Basic の場合は Nothing) が含まれています。

ActivityDesignerPaint クラスを使用してワークフロー デザイン サーフェイスにカスタム アクティビティを描画する方法の例を、次に示します。 DrawRoundedRectangle メソッドを使用して、丸みのある四角形が最初に描画されます。 次に DrawText を使用してテキストが描画され、TextRectangleActivityDesigner の位置に配置されます。 さらに、Image クラスの ActivityDesigner メソッドを使用して、DrawImage に関連付けられた ActivityDesignerPaint が描画されます。 最後に、CompositeActivity を使用して、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 に設定されます。また、グレースケールの描画はできません。

適用対象

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

GraphicsImageRectangleDesignerContentAlignment、単精度浮動小数点数、およびブール値を使用して、アクティビティ デザイナー画面にイメージを描画します。

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)

パラメーター

graphics
Graphics

イメージを描画する Graphics

image
Image

描画する Image

destination
Rectangle

イメージの境界を定義する Rectangle

source
Rectangle

イメージのソースを定義する Rectangle

alignment
DesignerContentAlignment

イメージを外接する四角形にどのように配置するかを指定する DesignerContentAlignment

transparency
Single

イメージの透過性の設定を定義する単精度浮動小数点数。

grayscale
Boolean

イメージをグレースケールで描画する場合は true。それ以外の場合は false

例外

graphicsimagedestination、または source に null 参照 (Visual Basic の場合は Nothing) が含まれています。

  • または - transparency が 0 未満か、1.0f よりも大きい値です。

適用対象