Page 1 of 1

Rapid SVG Mapping

Posted: Sat Oct 18, 2025 7:20 pm
by JHPJHP
Hi All,

Some time ago, AAT and I collaborated on an OpenCV example for my project, PureBasic Interface to OpenCV. Years later, another forum member developed a RAD SVG tool, which reminded me of the example AAT and I had worked on. With only a few minor modifications, literally just a dozen new lines of code, a promising new SVG tool began to take shape.

When I initially shared my results as an animated GIF, the response appeared limited, so I decided to set the example aside.

I don’t necessarily expect significant interest this time either, but revisiting OpenCV was enjoyable. It was great to see that, even though the version is somewhat dated, the algorithms remain highly relevant today.

Back when I first posted this in 2020, my thought was that it could serve as an add-on to any future SVG tools, essentially adding the Rapid to RAD.
• Useful for mapping complex shapes, animating sprite-sheet images, and more.

See the following video: Vector Drawing
1. Two JPG images are displayed for the demonstration.
2. The original 2020 example is copied into the main OpenCV folder.
3. The code executes, deriving x/y points from the image contours.
4. These points are drawn onto a copy of the selected image.
5. The SVG library uses the x/y points to render the results onto a CanvasGadget.
6. Various other SVG rendering options are also demonstrated.

Re: Rapid SVG

Posted: Sat Oct 18, 2025 9:09 pm
by Caronte3D
Excellent work as always! :wink:

Re: Rapid SVG

Posted: Sun Oct 19, 2025 2:48 am
by miso
That's cool, good job.

Re: Rapid SVG

Posted: Sun Oct 19, 2025 1:13 pm
by SPH
Did I understand correctly? :
Does this code define the points around a shape?
In OpenGL, the instruction that creates polygons only creates convex polygons. Is there a way to "slice" any shape into convex polygons? (If so, that would be great for me.)
Thanks

Re: Rapid SVG Mapping

Posted: Sun Oct 19, 2025 4:10 pm
by JHPJHP
Hi Caronte3D, miso,

Thank you for your positive comments.

------------

Hi SPH,
SPH wrote:Does this code define the points around a shape?
Yes, it has been part of the PureBasic Interface to OpenCV for over ten years, and it’s just one of many examples that can map points to objects.
• The two examples shown in the videos were quick modifications of an existing example.

------------

As I mentioned in my previous post, animations are a no-brainer...

See the following video: Vector Animation
.. MP4 video was created using my Video Snipping Tool.
.. Used my GIF Toolkit to convert a GIF animation to a sprite sheet.
1. The generated sprite sheet is displayed for the demonstration.
2. In a loop the sprite sheet is broken-down into regions of interest.
3. X/Y points are derived from the image contours.
4. These points are drawn onto a copy of the selected image.
5. The x/y points are used to render the results onto a CanvasGadget at 2x the scale.

Re: Rapid SVG

Posted: Sun Oct 19, 2025 9:57 pm
by BarryG
JHPJHP wrote: Sat Oct 18, 2025 7:20 pmWhen I initially shared my results as an animated GIF, the response appeared limited, so I decided to set the example aside.
I read almost every post on this forum but don't always respond to them. Like this topic: I have no idea what SVG is and have no need for it, but I read it anyway without any plan to respond to it. But your quote made me write this reply to remind you that your work is actually seen and appreciated, even if I don't use it personally. Thumbs up! :)

Re: Rapid SVG Mapping

Posted: Sun Oct 19, 2025 11:43 pm
by JHPJHP
Hi BarryG,
BarryG wrote:I have no idea what SVG is and have no need for it
That’s a bit of a paradox: How can you be sure you don’t need it if you don’t know what it is :P
• For reference, SVG stands for Scalable Vector Graphics; see PureBasic - VectorDrawing.
BarryG wrote:your quote made me write this reply to remind you that your work is actually seen and appreciated
That was kind of you but really not necessary. I was just having a bit of fun. The code has been available for over ten years, so anyone who works with SVG and still finds themselves manually mapping coordinates around objects, my point should be fairly obvious :)

There are countless uses; one example is my Old-Skool Fire Effect.