PHP: Mengubah Gambar Berwarna Menjadi Hitam Putih
Posted by Gora Santika
Salam hangat untuk teman-teman semua yang sedang menjalankan ibadah puasa Ramadhan di tahun 1947 Jawa... haha :D
Kali ini saya ingin membahas mengenai gambar 1-bit atau monokrom hitam-putih atau gambar biner.
Jadi ceritanya saya ingin mengkonversi gambar berwarna (truecolor) menjadi hitam putih (tapi bukan grayscale). Hal itu karena saya sedang bermain-main dengan angka biner. Jadi saya butuh menerjemahkan warna pada gambar menjadi angka 1 atau 0 (1 untuk putih, 0 untuk hitam).
Ketika saya mencoba browsing ternyata pada beberapa forum terdapat pertanyaan yang sama, "Bagaimana cara mengubah gambar berwarna menjadi hitam putih". Tetapi kebanyakan jawabannya adalah mengubah gambar menjadi grayscale. Akhirnya saya mencoba untuk memecahkan masalah tersebut menggunakan PHP.
Singkat cerita, kita akan menggunakan beberapa fungsi yang dimiliki oleh PHP GD library :
Jadi ndak usah pake ribet, langsung saya kasih kodenya :
<?php // LOAD GAMBAR $im = imagecreatefromjpeg("gambar.jpg"); imagefilter($im, IMG_FILTER_GRAYSCALE); // FILTER GRAYSCALE imagetruecolortopalette($im, false, 2); // UBAH JADI INDEXED-IMAGE imagecolorset($im,0,0,0,0); // SET PALETTE 0 = HITAM imagecolorset($im,1,255,255,255); // SET PALETTE 1 = PUTIH // CETAK GAMBAR KE LAYAR header("content-type: image/png"); imagepng($im); imagedestroy($im); ?>
Jadi pertama load gambar ke dalam variable $im. Lalu beri filter grayscale. Setelah itu ubah gambar menjadi indexed-image tapi color-table / color-palette nya dibatasi hanya dua saja (hitam dan putih).
Cukup simple bukan? Berikut saya sediakan contoh gambar hasil output program...
![]() |
![]() |
Gambar Asli |
Gambar Hitam Putih |
Demikian kurang lebih apa yang dapat saya bagi. Kurang dan lebihnya, saya mohon maaf.
[Semoga Bermanfaat]