LEADTOOLS Support
Document
Document SDK Questions
Drawing the Annstamp object on Imageviewer programatically
This topic and its replies were posted before the current version of LEADTOOLS was released and may no longer be applicable.
#1
Posted
:
Tuesday, November 27, 2007 12:29:36 PM(UTC)
Groups: Registered
Posts: 5
I have requirment that user selects StampObject from tool bar and double clicks on the imageviewer, the stampobject is drawn automatically with predefined size. it should be able to be deleted after it was drawn on the imageviewer. Can it be done?
#2
Posted
:
Tuesday, November 27, 2007 11:13:53 PM(UTC)
Groups: Registered, Tech Support
Posts: 1,326
Was thanked: 1 time(s) in 1 post(s)
Hello,
If you are using LEADTOOLS v15 .Net and you want to create AnnStamp Object when you double click on the RasterImageViewer, you need to handle the DoubleClick Event of the RasterImageViewer control, and then create the AnnStampObject as follows:
+----------------+
Private Sub RasterImageViewer1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RasterImageViewer1.DoubleClick
...
Dim stamp As AnnStampObject = New AnnStampObject()
Dim pic As AnnPicture = New AnnPicture(Image.FromFile(imageFileName))
pic.TransparentMode = AnnPictureTransparentMode.None
pic.TransparentColor = Color.Black
stamp.Picture = pic
stamp.Bounds = New AnnRectangle(100, 200, 400, 600, AnnUnit.Pixel)
container.Objects.Add(stamp)
...
End Sub
+----------------+
Thanks,
Maen Badwan
LEADTOOLS Technical Support
#3
Posted
:
Wednesday, November 28, 2007 5:48:53 AM(UTC)
Groups: Registered
Posts: 5
Thanks,it works. I need to place the stamp object where the mouse clicked on the imageviewer. How can I convert the mouseeventargs coordinate into Imageviewer container coordinates?
#4
Posted
:
Wednesday, November 28, 2007 9:54:52 PM(UTC)
Groups: Registered, Tech Support
Posts: 1,326
Was thanked: 1 time(s) in 1 post(s)
Hello,
To create the AnnStamp Object on the mouse click event, and convert the mouse coordinates into Imageviewer coordinates, please use the following code:
+------------+
Private Sub RasterImageViewer1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles RasterImageViewer1.MouseClick
Dim stamp As AnnStampObject = New AnnStampObject()
Dim pic As AnnPicture = New AnnPicture(Image.FromFile("c:\Sunset.jpg"))
pic.TransparentMode = AnnPictureTransparentMode.None
pic.TransparentColor = Color.Black
stamp.Picture = pic
Dim ts As New Transformer
ts.Transform = RasterImageViewer1.Transform
Dim p As PointF = ts.PointToPhysical(New PointF(e.X, e.Y))
stamp.Bounds = New AnnRectangle(p.X, p.Y, 400, 600, AnnUnit.Pixel)
AutomationAnn.Container.Objects.Add(stamp)
RasterImageViewer1.Invalidate()
End Sub
+------------+
Thanks,
Maen Badwan
LEADTOOLS Technical Support
#5
Posted
:
Thursday, November 29, 2007 10:27:45 AM(UTC)
Groups: Registered
Posts: 5
// this.imageViewer.
AnnPicture pic =
new AnnPicture(System.Drawing.Image.FromFile(@"c:\checkmarkonly.bmp"));
AnnStampObject obj =
new AnnStampObject();
obj.Picture = pic;
obj.Visible =
true;
Transformer transform =
new Transformer();
transform.Transform =
this.imageViewer.Transform;
PointF pf = transform.PointToPhysical(new PointF(eventArgs.X, eventArgs.Y));
obj.Bounds =
new AnnRectangle(pf.X, pf.Y, 60, 60, AnnUnit.Pixel);
// obj.Bounds = new AnnRectangle(new Rectangle(, new SizeF(30, 30)));
_annAutomation.Container.Objects.Add(obj);
this.imageViewer.Invalidate();
The above code still does not place the object where the mouse is clicked, this code works fine without resizing the window or scrolling the imageviwer. I
#6
Posted
:
Sunday, December 2, 2007 3:04:05 AM(UTC)
Groups: Registered, Tech Support
Posts: 1,326
Was thanked: 1 time(s) in 1 post(s)
Hello,
To get the actual point, please try to use the PointToLogical method instead of using the PointToPhysical method.
Please let me know if this helps.
Thanks,
Maen Badwan
LEADTOOLS Technical Support
LEADTOOLS Support
Document
Document SDK Questions
Drawing the Annstamp object on Imageviewer programatically
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.