Previous: Using Markers, Up: Image Annotation [Contents][Index]
Annotations placed on the image are kept seperate from the image pixels themselves. The reasons for doing so are twofold. First, keeping the annotation seperate makes it possible to later edit the annotations. The second reason is that typically the screen has a lower resolutions than other output devices. By keeping the annotations seperate from the pixels makes it possible to obtain better image qualities when the annotations are rendered on higher-resolution devices (for example a PostScript printer).
If for some reason making the annotations a part of the image pixels is desired, use the following routine
int flimage_render_annotation(FL_IMAGE *image, FL_WINDOW win);
The function returns -1 if an error occurs. The parameter win
is used to create the appropriate pixmap. After the function returns
the annotations are rendered into the image pixels (thus an annotation
or a part of it that was outside of the image is lost). Note that
during rendering the image type may change depending on the
capabilities of win
. Annotations that were kept separately are
deleted. Note that the image must have been displayed at least once
prior to calling this function for it to work correctly.
You can always enlarge the image first via the cropping function with some solid borders. Then you can put annotation outside of the original image but within the enlarged image.
Not all image formats support the storage of text and markers. This
means if you attempt to save an image that has associated text and
markers into an image format that does not support it, you may lose
the annotation. All pnm formats supports the storage of annotations.
To find out if a particular format supports annotation storage, look
at the annotation field of the FLIMAGE_FORMAT_INFO
structure. A
zero value indicates it does not support it.
Previous: Using Markers, Up: Image Annotation [Contents][Index]