다음을 통해 공유


ActivityDesignerPaint.DrawImage 메서드

정의

Activity Designer 화면에 이미지를 그립니다.

오버로드

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Graphics, Image, RectangleDesignerContentAlignment을 사용하여 활동 디자이너 화면에 이미지를 그립니다.

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

Graphics, Image, 소스 및 대상 Rectangle, DesignerContentAlignment, 단정밀도 부동 소수점 숫자 및 Boolean 값을 사용하여 활동 디자이너에 이미지를 그립니다.

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Graphics, Image, 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)

매개 변수

graphics
Graphics

이미지가 그려질 Graphics입니다.

image
Image

그릴 Image입니다.

destination
Rectangle

그릴 이미지의 경계를 정의하는 Rectangle입니다.

alignment
DesignerContentAlignment

이미지가 경계 사각형에 정렬되는 방법을 지정하는 DesignerContentAlignment입니다.

예외

graphics, image 또는 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)

Graphics, Image, 소스 및 대상 Rectangle, DesignerContentAlignment, 단정밀도 부동 소수점 숫자 및 Boolean 값을 사용하여 활동 디자이너에 이미지를 그립니다.

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입니다.

예외

graphics, image, destination 또는 source에 null 참조(Visual Basic의 경우 Nothing)가 포함된 경우

또는 transparency가 0보다 작거나 1.0f보다 큰 경우

적용 대상