Condividi tramite


ActivityDesignerPaint.DrawImage Metodo

Definizione

Disegna un'immagine nell'area dell'ActivityDesigner.

Overload

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Disegna un'immagine nell'area dell'ActivityDesigner utilizzando una classe Graphics, una classe Image, una struttura Rectangle e un'enumerazione DesignerContentAlignment.

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

Disegna un'immagine nell'area dell'ActivityDesigner utilizzando una classe Graphics, una classe Image, una struttura di origine e di destinazione Rectangle, un'enumerazione DesignerContentAlignment, un numero a virgola mobile e a precisione singola e un valore booleano.

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

Disegna un'immagine nell'area dell'ActivityDesigner utilizzando una classe Graphics, una classe Image, una struttura Rectangle e un'enumerazione 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)

Parametri

graphics
Graphics

Classe Graphics su cui disegnare l'immagine.

image
Image

Classe Image da disegnare.

destination
Rectangle

Struttura Rectangle che definisce i limiti dell'immagine da disegnare.

alignment
DesignerContentAlignment

Enumerazione DesignerContentAlignment che specifica la modalità di allineamento dell'immagine nel rettangolo di delimitazione.

Eccezioni

graphics, image o destination contiene un riferimento null (Nothing in Visual Basic).

Esempio

Nell'esempio seguente viene illustrato un modo per utilizzare la classe ActivityDesignerPaint per creare un'attività personalizzata nell'area di progettazione del flusso di lavoro. Per prima cosa viene tracciato un rettangolo arrotondato utilizzando il metodo DrawRoundedRectangle. Il testo viene quindi tracciato mediante DrawText e posizionato nel percorso dell'elemento TextRectangle della classe ActivityDesigner. Inoltre, la proprietà Image associata all'elemento ActivityDesigner viene tracciata utilizzando il metodo DrawImage della classe ActivityDesignerPaint. Infine, tramite il metodo CompositeActivity, viene disegnato un pulsante Espandi utilizzato da un oggetto della classe 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

Commenti

Quando si utilizza questa versione di DrawImage, il rettangolo di origine viene impostato sulla dimensione, in pixel, dell'immagine, la trasparenza viene impostata su 1.0f e non viene consentita la visualizzazione di scale di grigi.

Si applica a

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

Disegna un'immagine nell'area dell'ActivityDesigner utilizzando una classe Graphics, una classe Image, una struttura di origine e di destinazione Rectangle, un'enumerazione DesignerContentAlignment, un numero a virgola mobile e a precisione singola e un valore booleano.

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)

Parametri

graphics
Graphics

Classe Graphics su cui disegnare l'immagine.

image
Image

Classe Image da disegnare.

destination
Rectangle

Struttura Rectangle che definisce i limiti dell'immagine.

source
Rectangle

Struttura Rectangle che definisce l'origine dell'immagine.

alignment
DesignerContentAlignment

Enumerazione DesignerContentAlignment che specifica la modalità di allineamento dell'immagine nel rettangolo di delimitazione.

transparency
Single

Numero a virgola mobile e a precisione singola che definisce le impostazioni di trasparenza relative all'immagine.

grayscale
Boolean

true per disegnare l'immagine in scale di grigi; in caso contrario, false.

Eccezioni

graphics, image, destination o source contiene un riferimento null (Nothing in Visual Basic).

-oppure- transparency è minore di 0 o maggiore di 1.0f.

Si applica a