LEADTOOLS Annotations for WPF and Silverlight (Leadtools.Windows.Annotations assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.31
AnnPicture Class
See Also  Members  
Leadtools.Windows.Annotations Namespace : AnnPicture Class



The AnnPicture Class supports WPF/Silverlight.

The AnnPicture Class is available in LEADTOOLS Document and Medical Imaging toolkits.

Defines an annotation picture along with its transparency information. Supported in Silverlight, Windows Phone 7

Object Model

AnnPicture Class

Syntax

Visual Basic (Declaration) 
Public Class AnnPicture 
   Inherits System.Windows.DependencyObject
Visual Basic (Usage)Copy Code
Dim instance As AnnPicture
C# 
public class AnnPicture : System.Windows.DependencyObject 
C++/CLI 
public ref class AnnPicture : public System.Windows.DependencyObject 

Example

For XAML example, refer to AnnGroupObject.

This example creates an image that has a blue ellipse inside a red rectangle.

Visual BasicCopy Code
Private Sub AnnPicture_AnnPicture(ByVal dc As DrawingContext)
   Dim pic As AnnPicture = Nothing
   Dim dv As DrawingVisual = New DrawingVisual()
   Using dvc As DrawingContext = dv.RenderOpen()
      'Bitmap btmp = new Bitmap(100, 100, PixelFormat.Format32bppArgb))
      dvc.DrawRectangle(Brushes.Red, Nothing, New Rect(0, 0, 100, 100))
      dvc.DrawEllipse(Brushes.Red, Nothing, New System.Windows.Point(50, 50), 100, 100)
      dvc.Close()
      Dim btmp As RenderTargetBitmap = New RenderTargetBitmap(100, 100, 96, 96, PixelFormats.Pbgra32)
      btmp.Render(dv)

      ' initialize a new AnnPicture class for this image
      pic = New AnnPicture(btmp)
   End Using

   If Not pic Is Nothing AndAlso Not pic.Image Is Nothing Then
      ' draw the picture with no transparency
      Dim rc As Rect = New Rect(10, 10, pic.Image.Width, pic.Image.Height)
      dc.DrawImage(pic.Image, rc)

      ' draw the picture without the ellipse (make transparent color = blue)
      rc.Offset(0, pic.Image.Height + 10)
      pic.TransparentMode = AnnTransparentMode.UseColor
      pic.TransparentColor = Colors.Blue


      dc.DrawImage(pic.Image, rc)

      ' draw the picture without the rectangle (use the top left pixel as the transparent color)
      rc.Offset(0, pic.Image.Height + 10)
      pic.TransparentMode = AnnTransparentMode.TopLeftPixel

      dc.DrawImage(pic.Image, rc)
   End If
End Sub
C#Copy Code
private void AnnPicture_AnnPicture(DrawingContext dc)
{
   AnnPicture pic = null;
   DrawingVisual dv = new DrawingVisual();
   using(DrawingContext dvc = dv.RenderOpen())
   //Bitmap btmp = new Bitmap(100, 100, PixelFormat.Format32bppArgb))
   {
      dvc.DrawRectangle(Brushes.Red, null, new Rect(0, 0, 100, 100));
      dvc.DrawEllipse(Brushes.Red, null, new Point(50, 50), 100, 100);
      dvc.Close();
      RenderTargetBitmap btmp = new RenderTargetBitmap(100, 100, 96, 96, PixelFormats.Pbgra32);
      btmp.Render(dv);

      // initialize a new AnnPicture class for this image
      pic = new AnnPicture(btmp);
   }

   if(pic != null && pic.Image != null)
   {
      // draw the picture with no transparency
      Rect rc = new Rect(10, 10, pic.Image.Width, pic.Image.Height);
      dc.DrawImage(pic.Image, rc);

      // draw the picture without the ellipse (make transparent color = blue)
      rc.Offset(0, pic.Image.Height + 10);
      pic.TransparentMode = AnnTransparentMode.UseColor;
      pic.TransparentColor = Colors.Blue;


      dc.DrawImage(pic.Image, rc);

      // draw the picture without the rectangle (use the top left pixel as the transparent color)
      rc.Offset(0, pic.Image.Height + 10);
      pic.TransparentMode = AnnTransparentMode.TopLeftPixel;

      dc.DrawImage(pic.Image, rc);
   }
}
SilverlightCSharpCopy Code
private void AnnPicture_AnnPicture()
{
   AnnPicture pic = null;
   Canvas myCanvas = new Canvas();
   myCanvas.Width = 100;
   myCanvas.Height = 100;

   Rectangle rect = new Rectangle();
   rect.Fill = new SolidColorBrush(Colors.Red);
   rect.Width = 100;
   rect.Height = 100;
   myCanvas.Children.Add(rect);

   Ellipse elipse = new Ellipse();
   elipse.Fill = new SolidColorBrush(Colors.Red);
   elipse.Width = 100;
   elipse.Height = 100;
   myCanvas.Children.Add(elipse);

   WriteableBitmap wb = new WriteableBitmap(200, 200);
   wb.Render(myCanvas, null);
   wb.Invalidate();

   ImageSource img = wb;
   pic = new AnnPicture((BitmapSource)img);
}
SilverlightVBCopy Code
Private Sub AnnPicture_AnnPicture()
   Dim pic As AnnPicture = Nothing
   Dim myCanvas As Canvas = New Canvas()
   myCanvas.Width = 100
   myCanvas.Height = 100

   Dim rect As Rectangle = New Rectangle()
   rect.Fill = New SolidColorBrush(Colors.Red)
   rect.Width = 100
   rect.Height = 100
   myCanvas.Children.Add(rect)

   Dim elipse As Ellipse = New Ellipse()
   elipse.Fill = New SolidColorBrush(Colors.Red)
   elipse.Width = 100
   elipse.Height = 100
   myCanvas.Children.Add(elipse)

   Dim wb As WriteableBitmap = New WriteableBitmap(200, 200)
   wb.Render(myCanvas, Nothing)
   wb.Invalidate()

   Dim img As ImageSource = wb
   pic = New AnnPicture(CType(img, BitmapSource))
End Sub

Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         Leadtools.Windows.Annotations.AnnPicture

Requirements

Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also

AnnPicture requires a Document/Medical product license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features and Unlocking Special LEAD Features.