DrawString & MeasureString




Nella creazione di grafici, indicatori o altri supporti di visualizzazione, è necessario spiegare il contenuto dei suddetti e ricorrere a delle indicazioni testuali.
La funzione DrawString serve per plottare delle scritte su un'immagine. 
I parametri accettati dalla funzione suddetta sono i seguenti:
s
Type: System.String
Stringa da disegnare.

font
Type: System.Drawing.Font

Oggetto Font che definisce il formato di testo della stringa.
brush
Type: System.Drawing.Brush

Oggetto Brush che determina il colore e la trama del testo disegnato.
layoutRectangle
Type: System.Drawing.RectangleF

Struttura RectangleF che specifica la posizione del testo disegnato.
 
Come nell'esempio, le linee di codice da utilizzare sono le seguenti:
Public Sub DrawStringRectangleF(ByVal e As PaintEventArgs)

    ' Create string to draw.
    Dim drawString As [String] = "Sample Text"

    ' Create font and brush.
    Dim drawFont As New Font("Arial", 16)
    Dim drawBrush As New SolidBrush(Color.Black)

    ' Create rectangle for drawing.
    Dim x As Single = 150.0F
    Dim y As Single = 150.0F
    Dim width As Single = 200.0F
    Dim height As Single = 50.0F
    Dim drawRect As New RectangleF(x, y, width, height)

    ' Draw rectangle to screen.
    Dim blackPen As New Pen(Color.Black)
    e.Graphics.DrawRectangle(blackPen, x, y, width, height)

    ' Draw string to screen.
    e.Graphics.DrawString(drawString, drawFont, drawBrush, drawRect)
End Sub
  
Il MeasureString metodo è progettato per l'utilizzo con stringhe e include una piccola quantità di spazio aggiuntivo prima e dopo la stringa per le parti sporgenti delle icone. Inoltre, il metodo DrawString riadatta i punti del glifo per ottimizzare la qualità di visualizzazione e potrebbe visualizzare una stringa più ristretta rispetto a quanto indicato dal metodo MeasureString.
 
La funzione MeasureString utilizza i seguenti parametri:
  • text (String), stringa da misurare;
  • font (Font), oggetto Font che specifica il formato della riga.
MeasureString restituisce una struttura (un oggetto di tipo SizeF) che rappresenta le dimensioni della stringa. L’unità di misura della stringa è quella specificata dalla proprietà PageUnit presente in Graphics.
  L'esempio di codice seguente esegue le seguenti azioni:
  • Crea una stringa da misurare e un oggetto font impostato su Arial (16 punti).
  • Imposta la dimensione massima di layout della stringa.
  • Crea un oggetto dimensioni e utilizza, l'oggetto tipo di carattere e la dimensione massima di layout per misurare le dimensioni della stringa.
  • Disegna un rettangolo rosso utilizzando le dimensioni misurate della stringa.
  • Disegna la stringa all'interno del rettangolo disegnato.

    Private Sub MeasureStringSizeF(ByVal e As PaintEventArgs)
    
        ' Set up string.
        Dim measureString As String = "Measure String"
        Dim stringFont As New Font("Arial", 16)
    
        ' Set maximum layout size.
        Dim layoutSize As New SizeF(200.0F, 50.0F)
    
        ' Measure string.
        Dim stringSize As New SizeF
        stringSize = e.Graphics.MeasureString(measureString, stringFont, _
        layoutSize)
    
        ' Draw rectangle representing size of string.
        e.Graphics.DrawRectangle(New Pen(Color.Red, 1), 0.0F, 0.0F, _
        stringSize.Width, stringSize.Height)
    
        ' Draw string to screen.
        e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
        New PointF(0, 0))
    End Sub

 
 
 

Commenti

Post popolari in questo blog

Il moto browniano geometrico

Resampling dei dati

Generazioni di variabili aleatorie