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
Syntax
Visual Basic (Usage) | Copy Code |
---|
Dim instance As AnnPicture |
Example
For XAML example, refer to AnnGroupObject.
This example creates an image that has a blue ellipse inside a red rectangle.
Visual Basic | Copy 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);
}
} |
SilverlightCSharp | Copy 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);
} |
SilverlightVB | Copy 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
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