Penukar Percuma

SVG ke PNG Penukar

Tukar fail SVG Vektor kepada imej Raster PNG berkualiti tinggi. Sesuaikan skala output dan warna latar belakang dengan mudah dalam penyemak imbas anda.

Seret & Lepaskan SVG di sini

Menyokong sehingga 50MB

Ataupun

Tentang alat ini

SVG (Grafik Vektor Boleh Skala) menerangkan imej sebagai satu set primitif geometri — laluan, bentuk, teks, kecerunan — skala itu kepada sebarang saiz tanpa kehilangan kualiti. PNG menyimpan satu grid piksel segi empat tepat pada resolusi tetap. Menukar SVG kepada PNG ialah langkah rasterisasi: arahan lukisan SVG dinilai pada saiz piksel yang dipilih dan peta bit yang terhasil dikodkan sebagai PNG. Output kelihatan jelas pada saiz yang anda tentukan tetapi pixelates jika ditingkatkan.

Penukar ini menjadikan SVG menggunakan enjin SVG terbina dalam penyemak imbas. SVG dimuatkan ke dalam elemen Imej, dilukis pada kanvas HTML5 pada dimensi output yang dipilih dan dieksport sebagai PNG melalui canvas.toBlob. Oleh kerana penyemak imbas melakukan rasterisasi, ciri SVG yang kompleks — kecerunan, penapis, topeng, animasi sebagai bingkai statik — menghasilkan cara yang sama seperti pada halaman web sebenar.

Keputusan paling penting dalam penukaran SVG-ke-PNG ialah saiz sasaran. SVG adalah bebas resolusi, jadi memilih saiz PNG yang sepadan dengan penggunaan sebenar mengelakkan peruntukan berlebihan (fail besar untuk ikon bersaiz lakaran kenit) dan kurang peruntukan (output kabur apabila ditingkatkan kemudian). Sasaran biasa: 32×32 atau 64×64 untuk ikon, 256×256 atau 512×512 untuk logo, 1024×1024 untuk grafik wira, 2048×2048 untuk aset kualiti retina.

Mengapa Tukar SVG ke PNG

SVG sangat bagus untuk web dan alat reka bentuk moden tetapi mengerikan untuk banyak konteks lain. Pelanggan e-mel membuat SVG secara tidak konsisten; ada yang menyekatnya sebagai risiko keselamatan. Perisian pejabat lama, CMS tertentu, perkhidmatan pihak ketiga dan hampir semua saluran paip cetakan foto tidak menerima SVG sama sekali. Menukar kepada PNG menghasilkan raster yang diterima secara universal yang kelihatan sama pada saiz yang dipilih.

PNG juga membenamkan dengan pasti ke dalam dokumen pejabat, dek slaid dan PDF tanpa bergantung pada pemapar SVG penerima. Untuk logo dan grafik yang perlu dipaparkan secara konsisten merentas banyak platform, PNG ialah pilihan yang lebih selamat — walaupun ia kehilangan kebebasan resolusi yang menjadikan SVG menarik pada mulanya.

Cara menggunakan

Pilih saiz sasaran anda, render. Penyemak imbas melakukan rasterisasi.

  1. Muat naik fail SVG: Seret SVG ke dalam kawasan muat naik atau klik untuk menyemak imbas. Fail sehingga 50 MB disokong, walaupun SVG biasa berada di bawah 1 MB. SVG serba lengkap berfungsi dengan baik; SVG yang merujuk imej luaran melalui xlink:href kepada URL jauh mungkin tidak lengkap.
  2. Pilih saiz output: Lalai ialah dimensi kotak paparan asli SVG, tetapi anda boleh menggantikan mana-mana saiz piksel. Pilih saiz yang sepadan dengan penggunaan sebenar anda — elakkan daripada menghasilkan PNG 4K untuk ikon yang akan dipaparkan pada 32×32.
  3. Render: Penyemak imbas menghuraikan SVG, melukisnya pada kanvas pada dimensi yang diminta dan mengeksport kanvas sebagai PNG. SVG kompleks dengan penapis atau kiraan laluan yang besar mungkin mengambil sedikit masa; ikon mudah dipaparkan serta-merta.
  4. Muat turun PNG: Simpan fail. Ketelusan dalam SVG (apa-apa sahaja di luar bentuk lukisan) dipelihara sebagai saluran alfa dalam PNG.

Kes Penggunaan Biasa

Butiran Teknikal

SVG (W3C Recommendation) ialah format vektor berasaskan XML dengan elemen untuk laluan, bentuk asas (tegak, bulatan, elips, garis, poligon, poligaris), teks, kecerunan (linearGradient, radialGradient), penapis, topeng dan laluan klip. Penyemak imbas menghuraikan XML, membina DOM, menggunakan CSS dan meraster hasil semasa pemaparan halaman.

Penukar ini memuatkan SVG ke dalam HTMLImageElement (yang mencetuskan laluan pemaparan SVG-sebagai-imej biasa penyemak imbas), kemudian menariknya ke kanvas melalui drawImage. Kanvas dieksport sebagai PNG menggunakan canvas.toBlob('image/png'). Piksel tepat dalam output sepadan dengan apa yang akan dipaparkan oleh SVG pada saiz yang sama dalam tab penyemak imbas.

Kes tepi: SVG menggunakan foreignObject tidak sentiasa disokong apabila digunakan melalui elemen Imej. SVG merujuk sumber luaran (xlink:href ke domain lain) mungkin gagal dimuatkan kerana CORS. Animasi SMIL dan animasi dipacu JavaScript dipaparkan sebagai bingkai awal sahaja.

Amalan Terbaik

Soalan lazim

Adakah SVG saya akan kehilangan kualiti apabila ditukar kepada PNG?
Penukaran vektor-ke-raster bermakna imej menjadi berasaskan piksel dan tidak lagi boleh menskala tanpa terhingga. Pilih resolusi tinggi untuk memastikan PNG kelihatan tajam pada saiz paparan yang anda inginkan.
Apakah format PNG digunakan?
PNG (Grafik Rangkaian Mudah Alih) digunakan terutamanya untuk grafik dengan ketelusan, tangkapan skrin, logo, ikon.
Adakah terdapat sebarang batasan yang perlu diketahui?
Fail sehingga 50MB disokong. Fail yang sangat besar atau kompleks mungkin mengambil masa yang lebih lama untuk diproses. Semua penukaran berlaku dalam penyemak imbas anda, jadi kelajuan pemprosesan bergantung pada peranti anda.
Adakah imej saya dirahsiakan semasa penukaran?
ya. Fail SVG anda diproses sepenuhnya dalam penyemak imbas anda menggunakan API Kanvas dan JavaScript. Tiada apa-apa yang dimuat naik ke mana-mana pelayan — fail pergi terus dari peranti anda ke penukar dan kembali ke peranti anda.
Adakah teks diberikan sebagai teks atau sebagai laluan?
Teks dirasterkan sebagai piksel dalam PNG output. Output tidak lagi boleh dicari atau dipilih. Jika SVG anda menggunakan fon yang tidak tersedia dalam penyemak imbas, teks mungkin dipaparkan dalam fon sandaran; tukar teks kepada laluan dalam SVG sebelum memberikan penampilan yang terjamin.
Adakah SVG saya dimuat naik ke pelayan?
Tidak. Penghuraian dan pemaparan SVG berlaku dalam penyemak imbas anda; Pengekodan PNG berlaku dalam penyemak imbas anda. Fail tidak meninggalkan peranti anda.
Mengapakah PNG saya yang ditukar kosong?
Punca biasa: SVG merujuk imej luaran yang gagal dimuatkan kerana CORS; SVG menggunakan ciri yang tidak disokong oleh laluan pemaparan elemen Imej (foreignObject, penapis tertentu); SVG mempunyai kotak pandangan sifar dimensi. Buka SVG terus dalam penyemak imbas untuk mengesahkan ia dipaparkan sebelum menukar.
Bolehkah saya menukar SVG ke PNG dalam skrip?
Ya — untuk kerja kelompok, persediaan Node.js menggunakan sharp atau puppeteer menjadikan SVG kepada PNG dengan ketepatan yang serupa dengan penyemak imbas. Alat ini adalah untuk penukaran sekali sahaja dalam penyemak imbas tanpa memasang apa-apa.