Anda di halaman 1dari 2

package gambar_hitam_putih;

import
import
import
import
import
import
import

java.awt.Color;
java.awt.image.BufferedImage;
java.io.File;
java.io.IOException;
java.util.logging.Level;
java.util.logging.Logger;
javax.imageio.ImageIO;

public class Nilai_Gambar {


public static void main(String[] args) {
try {
//mengarahkan kepada folder gambar
File fileGambar = new File("src/gambar_hitam_putih/logo.jpg");
BufferedImage gambar = ImageIO.read(fileGambar);

//lebar gambar
int lebarGambar = gambar.getWidth();
//tinggi gambar
int tinggiGambar = gambar.getHeight();

//membentuk matrix untuk mengambil nilai gambar


for (int i = 0; i < gambar.getWidth(); i++) {
for (int j = 0; j < gambar.getHeight(); j++) {
//mengambil nilai masing-masing warna gambar
Color warnaGambar = new Color(gambar.getRGB(j, i));
System.out.println("Sebelum -> Merah:" +
warnaGambar.getRed() + " Hijau:" + warnaGambar.getGreen() + " Biru:" +
warnaGambar.getBlue());
//mengambil nilai merah dan mengalikan dengan 0.299
agar hasilnya sesuai dengan ketentuan grayscale
int merah = (int) (warnaGambar.getRed() * 0.299);
//mengambil nilai hijau dan mengalikan dengan 0.587agar
hasilnya sesuai dengan ketentuan grayscale
int hijau = (int) (warnaGambar.getGreen() * 0.587);
//mengambil nilai biru dan mengalikan dengan 0.114 agar
hasilnya sesuai dengan ketentuan grayscale

int biru = (int) (warnaGambar.getBlue() * 0.114);

//menjumlahkan semua nilai yang ditemukan, sehingga


warna sesuai dengan grayscale
int warnaGray = merah + hijau + biru;
System.out.println("Sesudah -> Merah:" + merah + "
Hijau:" + hijau + " Biru:" + biru + " GrayScale:" + warnaGray +"\n");
//perhatikan pada semua parameter, yang digunakan semua
sama, saya yaitu warnaGray
Color newColor = new Color(warnaGray, warnaGray,
warnaGray);
//set nilai warna gambar menjadi nilai yang sudah
dibuat gray
gambar.setRGB(j, i, newColor.getRGB());
}
}
//buat gambr baru dan beri dengan nama logo_grayscale dengan
tipe data jpg
ImageIO.write(gambar, "JPG", new
File("src/gambar_hitam_putih/logo_grayscale.jpg"));
} catch (IOException ex) {
Logger.getLogger(Nilai_Gambar.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

Anda mungkin juga menyukai