Udostępnij za pośrednictwem


ActivityDesignerPaint.DrawImage Metoda

Definicja

Rysuje obraz na powierzchni projektanta działań.

Przeciążenia

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Rysuje obraz na powierzchni projektanta działań przy użyciu Graphicselementu , , Imagea Rectanglei DesignerContentAlignment.

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

Rysuje obraz na powierzchni projektanta działań przy użyciu Graphicswartości , , Imageźródła i miejsca docelowego Rectangle, liczby DesignerContentAlignmentzmiennoprzecinkowej o pojedynczej precyzji i wartości logicznej.

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Rysuje obraz na powierzchni projektanta działań przy użyciu Graphicselementu , , Imagea Rectanglei 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)

Parametry

graphics
Graphics

Obiekt Graphics , na którym ma być narysowyny obraz.

image
Image

Element Image do rysowania.

destination
Rectangle

Element Rectangle definiujący granice obrazu do rysowania.

alignment
DesignerContentAlignment

Określa DesignerContentAlignment , w jaki sposób obraz jest wyrównany do prostokąta ograniczenia.

Wyjątki

graphics, imagelub destination zawiera odwołanie o wartości null (Nothing w Visual Basic).

Przykłady

W poniższym przykładzie pokazano sposób użycia ActivityDesignerPaint klasy do rysowania niestandardowego działania na powierzchni projektowej przepływu pracy. Zaokrąglony prostokąt jest najpierw rysowany przy użyciu DrawRoundedRectangle metody . Tekst jest następnie rysowany przy użyciu elementu DrawText i jest umieszczany w lokalizacji TextRectangle obiektu ActivityDesigner. Image Ponadto element skojarzony z elementem ActivityDesigner jest rysowany przy użyciu DrawImage metody ActivityDesignerPaint klasy . Na koniec przycisk rozwijania używany przez obiekt CompositeActivity jest rysowany przy użyciu elementu 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

Uwagi

W przypadku korzystania z tej wersji DrawImageprostokąt źródłowy jest ustawiony na rozmiar obrazu w pikselach, ustawienie przezroczystości jest ustawione na wartość 1,0f, a rysowanie skali szarości nie jest dozwolone.

Dotyczy

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

Rysuje obraz na powierzchni projektanta działań przy użyciu Graphicswartości , , Imageźródła i miejsca docelowego Rectangle, liczby DesignerContentAlignmentzmiennoprzecinkowej o pojedynczej precyzji i wartości logicznej.

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

Obiekt Graphics , na którym ma być narysowyny obraz.

image
Image

Element Image do rysowania.

destination
Rectangle

Element Rectangle definiujący granice obrazu.

source
Rectangle

Element Rectangle definiujący źródło obrazu.

alignment
DesignerContentAlignment

Określa DesignerContentAlignment , w jaki sposób obraz jest wyrównany do prostokąta ograniczenia.

transparency
Single

Liczba zmiennoprzecinkowa o pojedynczej precyzji, która definiuje ustawienia przezroczystości obrazu.

grayscale
Boolean

true aby narysować obraz w skalach szarości; w przeciwnym razie , false.

Wyjątki

graphics, , imagedestinationlub source zawiera odwołanie o wartości null (Nothing w Visual Basic).

-lub- transparency wartość jest mniejsza niż 0 lub większa niż 1,0f.

Dotyczy