Quantcast
Viewing all articles
Browse latest Browse all 1486

Image Markup Tools

Want to give users the ability to annotate images with lines, shapes, highlights, and text? This project provides flexible drawing tools and customization options for a variety of use-cases.

Screenshot

Image may be NSFW.
Clik here to view.
Name:  2025-03-16_15-29-16.jpg
Views: 120
Size:  35.4 KB


The above example shows a base image that has been marked up with a text box, polygon (that also happens to be "selected"), line with arrowhead endpoint, and a highlighted date/time.

Features

  • Open BMP, PNG, and JPEG images.
  • Draw Lines with optional endpoints (Arrowhead, Ball, Bar).
  • Create rectangles and polygons with customizable fill and stroke.
  • Draw multi-line Text Boxes with definable font face, size, colour, and style (Bold, Italic, Underline, and Strikethrough).
  • Adjust stroke thickness, color, and style (Solid, Dashed, Dotted) for supported objects.
  • Set Background Fill Colour and Translucency for fillable shapes (Rectangles, Polygons, and Text Boxes).
  • Highlight rectangular areas for emphasis.
  • Move drawn objects around the image for precise positioning.
  • Resize/Reshape drawn objects.
  • Undo/Redo actions.
  • Save Composite image (Base image + Drawn Objects in JPG or PNG format)
  • Export overlay images (annotations on a transparent background) as PNG.
  • Save and restore all drawn object data in JSON format.


SOURCE CODE

RC6ImageMarkupTools8.zip

NOTES

  • Requires Olaf Schmidt's RC6 library available at https://www.vbrichclient.com/ - so make sure to have it installed and registered on your dev machine.
  • This is a first-pass and the project has only been lightly tested so far. There are likely to be bugs, so please report any issues you discover and I will try to fix them ASAP.


Enjoy! :)
Attached Images
Image may be NSFW.
Clik here to view.
 
Attached Files

Viewing all articles
Browse latest Browse all 1486

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>