Quantcast
Channel: VBForums - CodeBank - Visual Basic 6 and earlier
Viewing all articles
Browse latest Browse all 1529

Image Markup Tools

$
0
0
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

Name:  2025-03-16_15-29-16.jpg
Views: 112
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
 
Attached Files

Viewing all articles
Browse latest Browse all 1529

Trending Articles



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