Terpecahkan: cara mengubah kanvas html menjadi file png

Pembaharuan Terakhir: 09/11/2023

Masalah utama yang terkait dengan mengubah kanvas HTML menjadi file PNG adalah bahwa kanvas HTML sebenarnya bukan gambar, melainkan elemen dinamis. Artinya tidak bisa langsung diubah menjadi file gambar seperti PNG tanpa terlebih dahulu diubah menjadi format gambar. Untuk melakukannya, kanvas harus dirender ke buffer di luar layar dan kemudian diekspor sebagai file gambar. Proses ini bisa rumit dan memakan waktu tergantung pada kerumitan kanvas dan isinya. Selain itu, fitur kanvas tertentu seperti bayangan atau gradien mungkin tidak dirender dengan benar saat dikonversi ke format gambar.

To convert a HTML canvas into a PNG file, you can use the <code>toDataURL()</code> method of the canvas element. This method returns a data URI containing a representation of the image in the format specified by the type parameter (defaults to PNG).

<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
  var canvas = document.getElementById('myCanvas');
  var dataURL = canvas.toDataURL('image/png'); // defaults to png, can also use 'image/jpeg'
</script>

1. Baris pertama membuat elemen kanvas dengan id "myCanvas" dan lebar serta tinggi masing-masing 200px dan 100px.
2. Baris kedua membuat variabel yang disebut "kanvas" yang menyimpan elemen HTML dengan id "myCanvas".
3. Baris ketiga membuat variabel yang disebut "dataURL" yang menyimpan data URI yang dikembalikan oleh toDataURL() metode, menggunakan 'image/png' sebagai parameter tipe (default ke PNG).

Format file JPEG vs PNG untuk situs web

JPEG dan PNG adalah dua format file gambar yang paling umum digunakan di web. JPEG adalah format kompresi lossy, artinya beberapa data gambar hilang saat file dikompresi. Ini membuatnya ideal untuk foto dan gambar rumit lainnya di mana beberapa detail dapat dikorbankan untuk ukuran file yang lebih kecil. PNG, di sisi lain, adalah format kompresi lossless, artinya tidak ada data yang hilang selama kompresi. Ini membuatnya ideal untuk gambar dengan garis dan teks yang tajam, seperti logo atau ikon.

File JPEG cenderung jauh lebih kecil daripada file PNG, membuatnya lebih cepat diunduh dan lebih mudah disimpan di server web. Namun, mereka mungkin tidak terlihat setajam atau sejelas PNG karena algoritma kompresi lossy yang digunakan dalam JPEG.

File PNG lebih besar dari JPEG tetapi menawarkan kualitas gambar yang lebih baik dengan garis yang lebih tajam dan warna yang lebih akurat. Mereka juga mendukung transparansi yang berguna saat membuat logo atau ikon dengan latar belakang transparan. Namun, mereka mungkin membutuhkan waktu lebih lama untuk mengunduh karena ukuran file mereka lebih besar dibandingkan dengan JPEG.

Apa itu kanvas

Kanvas adalah elemen HTML yang dapat digunakan untuk menggambar grafik pada halaman web menggunakan bahasa skrip seperti JavaScript. Ini digunakan untuk membuat bagan, animasi, game, dan konten kaya grafis lainnya. Elemen kanvas memiliki beberapa metode untuk menggambar jalur, kotak, lingkaran, teks, dan menambahkan gambar. Ini juga memiliki beberapa atribut untuk mengatur lebar dan tinggi area kanvas serta properti lainnya seperti warna latar belakang.

Bagaimana mengkonversi kanvas HTML ke PNG

Mengubah kanvas HTML menjadi gambar PNG adalah proses yang relatif sederhana.

1. Buat elemen kanvas HTML di halaman Anda:

2. Gambar sesuatu di atas kanvas:
var ctx = document.getElementById(“kanvas saya”).getContext(“2d”);
ctx.fillStyle = “#FF0000”;
ctx.fillRect(0,0,150,75);

3. Dapatkan URL data kanvas:
var dataURL = document.getElementById(“Kanvasku”).toDataURL();

4. Konversikan URL data ke gambar PNG:
var img = Gambar baru();
img.src = URL data;

Pos terkait: