Imports Leadtools
Imports Leadtools.Annotations
Imports Leadtools.Codecs
Imports Leadtools.WinForms
Public Sub AnnRubberStampObject_GetDefaultPicture(ByVal graphics As Graphics, ByVal filenameNewPicture As String)
Dim useNewPicture As Boolean = AnnRubberStampObject.GetUseNewPicture(AnnRubberStampType.Important)
Dim type As AnnRubberStampType = AnnRubberStampType.Important
' first draw the original picture for the Important rubber stamp
Dim rc As Rectangle = New Rectangle(0, 0, 240, 120)
DrawRubberStampPicture(graphics, rc, type)
' now change the picture to one of our own and redraw it
Dim img As Image = Image.FromFile(filenameNewPicture)
Dim picture As AnnPicture = New AnnPicture(img)
picture.TransparentMode = AnnPictureTransparentMode.None
AnnRubberStampObject.SetDefaultPicture(type, picture)
' at this point, all new AnnRubberStampObject with Type = Important will use this new picture
rc.Offset(0, rc.Height + 10)
DrawRubberStampPicture(graphics, rc, type)
' finally, set the picture back to the original value and redraw it
AnnRubberStampObject.SetUseOriginalPicture(type, True)
rc.Offset(0, rc.Height + 10)
DrawRubberStampPicture(graphics, rc, type)
'
AnnRubberStampObject.SetUseNewPicture(AnnRubberStampType.Important, (Not useNewPicture))
rc.Offset(0, rc.Height + 10)
DrawRubberStampPicture(graphics, rc, type)
End Sub
Private Sub DrawRubberStampPicture(ByVal graphics As Graphics, ByVal rc As Rectangle, ByVal type As AnnRubberStampType)
' get the default picture for the rubber stamp
Dim pic As AnnPicture = AnnRubberStampObject.GetDefaultPicture(type)
' draw it
If Not pic.Image Is Nothing Then
Dim ia As ImageAttributes = pic.ImageAttributes
If Not ia Is Nothing Then
graphics.DrawImage(pic.Image, rc, 0, 0, pic.Image.Width, pic.Image.Height, GraphicsUnit.Pixel, ia)
ia.Dispose()
Else
If rc.Width > 1 AndAlso rc.Height > 1 Then
graphics.DrawImage(pic.Image, rc)
End If
End If
End If
End Sub
using Leadtools;
using Leadtools.Annotations;
using Leadtools.Codecs;
using Leadtools.WinForms;
public void AnnRubberStampObject_GetDefaultPicture(Graphics graphics, string filenameNewPicture)
{
bool useNewPicture = AnnRubberStampObject.GetUseNewPicture(AnnRubberStampType.Important);
AnnRubberStampType type = AnnRubberStampType.Important;
// first draw the original picture for the Important rubber stamp
Rectangle rc = new Rectangle(0, 0, 240, 120);
DrawRubberStampPicture(graphics, rc, type);
// now change the picture to one of our own and redraw it
Image img = Image.FromFile(filenameNewPicture);
AnnPicture picture = new AnnPicture(img);
picture.TransparentMode = AnnPictureTransparentMode.None;
AnnRubberStampObject.SetDefaultPicture(type, picture);
// at this point, all new AnnRubberStampObject with Type = Important will use this new picture
rc.Offset(0, rc.Height + 10);
DrawRubberStampPicture(graphics, rc, type);
// finally, set the picture back to the original value and redraw it
AnnRubberStampObject.SetUseOriginalPicture(type, true);
rc.Offset(0, rc.Height + 10);
DrawRubberStampPicture(graphics, rc, type);
//
AnnRubberStampObject.SetUseNewPicture(AnnRubberStampType.Important, !useNewPicture);
rc.Offset(0, rc.Height + 10);
DrawRubberStampPicture(graphics, rc, type);
}
private void DrawRubberStampPicture(Graphics graphics, Rectangle rc, AnnRubberStampType type)
{
// get the default picture for the rubber stamp
AnnPicture pic = AnnRubberStampObject.GetDefaultPicture(type);
// draw it
if(pic.Image != null)
{
ImageAttributes ia = pic.ImageAttributes;
if(ia != null)
{
graphics.DrawImage(pic.Image, rc, 0, 0, pic.Image.Width, pic.Image.Height, GraphicsUnit.Pixel, ia);
ia.Dispose();
}
else
{
if(rc.Width > 1 && rc.Height >1)
graphics.DrawImage(pic.Image, rc);
}
}
}