PNG sa SVG Vectorizer
I-convert ang Raster PNG/JPG na mga larawan sa scalable na Vector SVG graphics. Secure, mabilis, at ganap na naproseso sa loob ng iyong browser.
I-drag at I-drop ang PNG/JPG dito
Sinusuportahan ang hanggang 50MB
I-convert ang Raster PNG/JPG na mga larawan sa scalable na Vector SVG graphics. Secure, mabilis, at ganap na naproseso sa loob ng iyong browser.
Sinusuportahan ang hanggang 50MB
Ang pag-convert ng PNG sa SVG ay pangunahing isang operasyon sa pagsubaybay, hindi isang pagbabago sa format. Ang PNG ay nag-iimbak ng mga pixel; Nag-iimbak ang SVG ng mga geometric na primitive. Ang pagpunta mula sa isang pixel grid patungo sa mga scalable na vector path ay nangangailangan ng pagbibigay-kahulugan sa bitmap at pagguhit ng tinatayang mga hugis sa paligid ng mga rehiyon na may katulad na kulay. Ang resulta ay tunay na nasusukat — maaari mong malayang baguhin ang laki nang walang pixelation — ngunit hindi ito perpektong pagpaparami ng pinagmulan. Mahina ang pagsubaybay sa photographic na content dahil nagiging hugis ang bawat pagkakaiba-iba ng kulay sa antas ng pixel, na gumagawa ng malalaking SVG na nakakatalo sa layunin. Malinis ang mga logo, icon, line art, at high-contrast na graphics dahil mayroon silang maliit na bilang ng mga rehiyon ng kulay na may mahusay na tinukoy na mga hangganan.
Ginagamit ng converter na ito ang imagetracerjs library, isang JavaScript port ng mga algorithm ng vector-tracing na katulad ng potrace. Ang PNG ay na-decode sa isang RGBA bitmap, ang bitmap ay naka-segment sa mga color region gamit ang isang configurable palette, ang hangganan ng bawat rehiyon ay sinusubaybayan sa isang path, ang mga path ay pinasimple gamit ang Bezier approximation, at ang mga resultang path ay inilalabas bilang SVG path elements. Ang buong pipeline ay tumatakbo sa iyong browser nang walang anumang pag-upload ng server.
Kinokontrol ng mga parameter ng pagsubaybay ang trade-off sa pagitan ng fidelity at laki ng file. Mas maraming kulay at mas pinong detalye ang gumagawa ng mas malaking SVG na mas malapit na tumutugma sa pinagmulan; ang mas kaunting mga kulay at mas magaspang na pagsubaybay ay gumagawa ng mas maliit na SVG na may mas naka-istilong pakiramdam. Ang mga default ay nakatutok para sa mga logo at icon; Ang mga kumplikadong larawan ay maaaring makinabang mula sa isang tracing pass na may mga inayos na setting, o maaaring hindi lang magandang kandidato para sa vectorization.
Ang pag-vector ng PNG ay pinakakapaki-pakinabang kapag kailangan mong i-scale ang larawan nang higit pa sa orihinal nitong resolution. Ang mga logo sa partikular ay kadalasang dumarating bilang mga PNG sa katamtamang laki at kailangang lumabas na presko sa mga billboard, retina display, at malalaking format na mga print. Ang isang vector trace ay gumagawa ng isang SVG na sumusukat nang walang pagkawala ng kalidad; ang tradeoff ay katapatan sa orihinal na mga pixel.
Ang SVG ay mas compact din kaysa sa PNG para sa mga graphics na may kaunting kulay at malalaking patag na rehiyon. Ang icon na PNG sa 256×256 ay maaaring 8 KB; ang katumbas na SVG na may dalawa o tatlong kulay ay kadalasang wala pang 1 KB. Para sa mga library ng icon ng UI na inihatid sa isang web frontend, binabawasan ng mga bersyon ng vector ang laki ng bundle at pinapahusay ang sharpness sa lahat ng densidad ng display.
Mag-drop ng PNG, pumili ng mga setting ng pagsubaybay, bumuo ng isang SVG.
Ang imagetracerjs ay nagpapatupad ng multi-stage pipeline: binabawasan ng color quantization ang bitmap sa isang nakapirming bilang ng mga kulay gamit ang k-means clustering o median cut; ang pagtuklas ng gilid ay tumutukoy sa mga hangganan ng pixel sa pagitan ng mga rehiyon; ang contour tracing ay sumusunod sa mga hangganan upang makagawa ng mga saradong polygon; Ang line-and-curve fitting ay tinatantya ang mga polygon na may Bezier curves upang bawasan ang data ng path.
Ang mga parameter ng algorithm na pinakamahalaga ay ang bilang ng mga kulay (karaniwang: 4–32), pathomit (mga path na mas maikli kaysa sa maraming pixel na ito ay itinatapon bilang ingay), ltres (line tolerance — gaano kalayo ang maaaring lumihis ng isang gilid bago hatiin sa isang bagong segment), at qtres (quadratic curve tolerance — gaano ka-agresibo ang mga curve). Ang mga default ay gumagana nang maayos para sa mga logo; nakikinabang ang mga kumplikadong larawan mula sa pag-tune ng bawat larawan.
Ang output ay karaniwang SVG 1.1 na may mga elemento ng landas. Ang bawat rehiyon ng kulay ay nagiging isang landas na may katangiang punan. Ang resultang file ay bubukas sa anumang browser, vector editor, o SVG-aware na tool sa disenyo. Ang laki ng file ay pangunahing nakasalalay sa bilang ng landas at densidad ng node; ang karaniwang sinusubaybayang logo ay 1–10 KB.