Bitmap to svg path
Asked Answered
J

1

7

I don't know how to make this algorithm in JavaScript/Node.js that converts bitmaps into svg paths pixel by pixel:

input input

// input
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 1 1 1 1 1 1 0 0 
0 0 1 1 1 1 1 1 0 0 
0 1 1 1 0 0 1 1 1 0 
0 1 1 1 0 0 1 1 1 0 
0 0 1 1 1 1 1 1 0 0 
0 0 1 1 1 1 1 1 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 

// output
<path d="M2 2 h6 v2 h1 v2 h-1 v2 h-6 v-2 h-1 v-2 h1 v-2 M4 4 v2 h2 v-2 z">

Does anyone know how the algorithm should work?

Any pseudocode would help.

Tools does the similar approach:

Jerrilyn answered 4/3, 2017 at 11:18 Comment(2)
So Your question is "I'm creating an algorithm. I don't know how to make this algorithm"?Shanda
yes, I will update the questionJerrilyn
S
9

You can converts pixels to SVG path string like this.

enter image description here

Using this algorithm, I made script coverts pixel art to SVG.

http://defghi1977.html.xdomain.jp/tech/img2svg3/dot2svg3.htm

(Sorry this page is written in Japanese.)

Scoundrel answered 4/3, 2017 at 12:23 Comment(3)
yes thats basically it, but the step from one to two got me into trouble, how did you joined the overlapping vectors in your algoritm?Jerrilyn
For example, if a vector was presented by x:y:direction (string), the inverse of 0:0:right vector is 1:0:left. So you can push vector to (normal) object as key for searching inverse vector.Scoundrel
I think that I have it, is your code available on internet? GitHub? By the way I have added more tools that solves the same problem and most of it comes form Japan :) look at the questionJerrilyn

© 2022 - 2024 — McMap. All rights reserved.