This topic and its replies were posted before the current version of LEADTOOLS was released and may no longer be applicable.
#1
Posted
:
Thursday, October 26, 2006 1:24:40 AM(UTC)
Groups: Registered
Posts: 8
Hi
I have a broblem with rendering Hilite annotations.
All my hilightes draws in black color, just like a redaction. Here is my code snippet:
AnnCodecs codecs = new AnnCodecs();
using (AnnContainer container = new AnnContainer())
{
container.UserMode = AnnUserMode.Run;
codecs.Load(fileName, container, 1);
container.Bounds = new AnnRectangle(0F, 0F, actualWidth, actualHeight);
container.Draw(graphics);
}
Using LeadTools 14.5.0.13 eval for .net
I have searched this forum but with no luck. Image is 24 bits and all should be fine.
Thanks
#2
Posted
:
Sunday, October 29, 2006 4:04:39 AM(UTC)
Groups: Guests
Posts: 3,022
Was thanked: 2 time(s) in 2 post(s)
Do you get this problem with any of the .NET annotation demos that ship
with LEADTOOLS? If not, then please post a small test project
that shows it.
Thanks,
#3
Posted
:
Monday, October 30, 2006 12:32:18 AM(UTC)
Groups: Registered
Posts: 8
No, I did't get this behaviour in demos. But all .net demos use RasterImageViewer control.
In this control all is ok, hilights renders fine.
But I need to render annotations into bitmap. Shown above code snippet is coplete example how I do rendering.
Please, provide some workaround
#4
Posted
:
Tuesday, October 31, 2006 12:06:48 AM(UTC)
Groups: Guests
Posts: 3,022
Was thanked: 2 time(s) in 2 post(s)
Please try the Load Level Annotation demo. This one uses the same
technique to draw the annotations as the code fragment above.
Note that this demo draw lines, rectangles and triangles only. I
modified it to draw hilites and didn't get the problem. If you do
not get the problem with this demo then please put your code in a small
project and post it here.
Thanks,
#5
Posted
:
Thursday, April 17, 2008 10:38:53 AM(UTC)
Groups: Registered
Posts: 32
Hi,
I am using version 15 SDK with C#. When I burn the annotations onto image (using Draw method), the hilite object is drawn in black. I am using ColorResolutionCommand command and setting bpi to 24. Other objects such as rectangle etc are rendered in color but the hilites are rendered in complete black color. How can I resolve this issue?
Thanks,
Suresh
#6
Posted
:
Thursday, April 17, 2008 10:39:17 AM(UTC)
Groups: Registered
Posts: 32
Even for color images, the same issue is observed.
#7
Posted
:
Thursday, April 17, 2008 11:29:05 AM(UTC)
Groups: Registered, Tech Support, Administrators
Posts: 764
Please send a small sample project (NOT your entire application) that isolates this problem so I can try to reproduce it here.
NOTE: If you are attaching a project or file to the forums...
1.) Zip the file(s) up.
2.) Make sure it is less than 5 MB. If it is larger, please send an email to
support@leadtools.com and we'll send you FTP instructions.
3.) Remove ANY AND ALL unlock codes and LEADTOOLS DLLs.
4.) Do not click the preview button, the attachment will not show up when you post it.
If you do not wish to post your file(s) on the forum since they are publically viewable, please send an email to
support@leadtools.com and make sure that you include a link to this forum post.
#8
Posted
:
Friday, April 18, 2008 7:32:34 AM(UTC)
Groups: Registered
Posts: 32
The code is part of other functions and it is difficult to separate the code. Below is the code block used for realising annotations. All objects are retaining the color and opacity but the hilite object becomes a black box.
int xres = image.XResolution;
int yres = image.YResolution;
image.XResolution = 96;
image.YResolution = 96;
foreach (AnnObject annObject in container.Objects)
{
annObject.Draw(image.CreateGdiPlusGraphics().Graphics);
}
image.XResolution = xres;
image.YResolution = yres;
#9
Posted
:
Friday, April 18, 2008 10:20:25 AM(UTC)
Groups: Registered, Tech Support, Administrators
Posts: 764
Here's a code snippet that will corectly realize the hilite annotation onto the image:
private void Realize(RasterImageViewer viewer, AnnContainer container)
{
// to realize, we do the following:
// 1. set an identity transform into container (we dont care how zoomed or scrolled it is)
// 2. disable the image events (so as only 1 event fires at the end)
// 3. disable the container's DrawObject events. If any designer is working on the container,
// it uses these events to draw the handles and what not. We do not want them when we realize.
// 4. Obtain a Graphics from the image.
// 5. Call AnnContainer.Draw on this graphics
// 6. Restore everything
// save the current matrix in the container
Matrix saveTransform = container.Transform;
// we do not want to paint the handles (if any)
container.DisableDrawObjectEvents();
// disable the events on the image
viewer.Image.DisableEvents();
try
{
// create an HDC from the image
// note, we can call IRasterImage.CreateGraphics here. But to creating a
// a GDI+ Graphics directly only would convert 1 bpp images into 24 bpp.
// This is a better method
IntPtr hdc = viewer.Image.CreateLeadDC();
using (Matrix transform = new Matrix())
{
// apply the new transformation (identity)
container.Transform = transform;
try
{
// get a Graphics from this HDC and draw the container on it
using (Graphics g = Graphics.FromHdc(hdc))
container.Draw(g);
}
finally
{
if (hdc != IntPtr.Zero)
RasterImage.DeleteLeadDC(hdc);
//viewer.Image.DeleteLeadDC(hdc);
}
}
}
finally
{
// the image has been changed
viewer.Image.EnableEvents();
viewer.Image.OnChanged(new RasterImageChangedEventArgs(RasterImageChangedFlags.Size | RasterImageChangedFlags.Data));
// restore the object events and the original transform
container.EnableDrawObjectEvents();
container.Transform = saveTransform;
}
}
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.