ActivityDesignerPaint.DrawImage Метод

Определение

Рисует изображение в рабочей области конструктора действий.

Перегрузки

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Рисует изображение в рабочей области конструктора действий, используя объекты Graphics, Image, Rectangle и перечисление DesignerContentAlignment.

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

Рисует изображение в рабочей области конструктора действий, используя объекты Graphics, Image, исходный и целевой объект Rectangle, перечисление DesignerContentAlignment, число одиночной точности с плавающей запятой и логическое значение.

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Рисует изображение в рабочей области конструктора действий, используя объекты Graphics, Image, Rectangle и перечисление 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, определяющее выравнивание изображения в ограничивающем прямоугольнике.

Исключения

graphics, image или destination содержит пустую ссылку (Nothing в Visual Basic).

Примеры

В следующем примере показан способ использования объекта ActivityDesignerPaint для отрисовки пользовательской операции в рабочей области конструктора рабочих процессов. Сначала рисуется прямоугольник с закругленными углами с использованием метода DrawRoundedRectangle. Затем рисуется текст с помощью метода DrawText и помещается в расположение, которое задается свойством TextRectangle объекта ActivityDesigner. Кроме того, изображение 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, число одиночной точности с плавающей запятой и логическое значение.

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 содержит неопределенную ссылку (Nothing в Visual Basic).

-или- Значение transparency меньше 0 или больше 1.0f.

Применяется к