Pada postingan kali ini, saya kan melanjutkan program mengenai pengolahan citra sebelumnya pengolahan citra dengan java , mengenai cara merubah warna RGB dengan Java..
Langsung saja implementasi programnya sebagai berikut :
1. Membuat Method Find Index
int [] findPixels(String p){
List pos = new ArrayList();
if(p.startsWith(">=")){
String tmp=p.substring(2);
int itmp=Integer.valueOf(tmp);
for(int i = 0; i< pixels.length; i++){
if((pixels[i] & 0x00FFFFFF) >= itmp){
pos.add(i);
}
}
}else if(p.startsWith("<=")){
String tmp=p.substring(2);
int itmp=Integer.valueOf(tmp);
for(int i = 0; i< pixels.length; i++){
if((pixels[i] & 0x00FFFFFF) <= itmp){
pos.add(i);
}
}
}else if(p.startsWith("=")){
String tmp=p.substring(1);
int itmp=Integer.valueOf(tmp);
for(int i = 0; i< pixels.length; i++){
if((pixels[i] & 0x00FFFFFF) == itmp){
pos.add(i);
}
}
}else if(p.startsWith(">")){
String tmp=p.substring(1);
int itmp=Integer.valueOf(tmp);
for(int i = 0; i< pixels.length; i++){
if((pixels[i] & 0x00FFFFFF) > itmp){
pos.add(i);
}
}
}else if(p.startsWith("<")){
String tmp=p.substring(1);
int itmp=Integer.valueOf(tmp);
for(int i = 0; i< pixels.length; i++){
if((pixels[i] & 0x00FFFFFF) < itmp){
pos.add(i);
}
}
}
int [] data = new int[pos.size()];
for(int i=0;i
data[i] = Integer.valueOf(pos.get(i).toString());
}
return data;
}
2. Buat Method setPixels
void setPixels(int x, int y,int c){
int alfa = pixels[(widht*(x-1)+y)] & 0xFFFFFFFF;
pixels[(widht*(x-1)+y)] = (alfa|c);
}
3. Membuat kembalian Image
ImageProducer IP = new MemoryImageSource(widht, height, pixels, 0, widht);
return Toolkit.getDefaultToolkit().createImage(IP);
}
4 Pada JFrame tambahkan satu tombol, terserah diberi nama apa contoh "change" , kemudian masukkan kode berikut :
// TODO add your handling code here:
int [] tmpPixel = img.findPixels(">=13265280");//angka bisa dirubah
for(int i = 0; i
int x = (int)(tmpPixel[i]/img.widht)-1;
int y = (int)((tmpPixel[i] - ((img.widht*(x-1)))+1))-1;
img.setPixels(x, y, 0xFFFF0000);
}
Image image = img.Arr2Image();
ImageIcon icon=new ImageIcon(image);
jLabel1.setIcon(icon);
repaint();
}
5. Hasilnya adalah sebagai berikut :
Contoh 1 :
int [] tmpPixel = img.findPixels("=255");
int [] tmpPixel = img.findPixels(">=13265280");
0 Komentar
Penulisan markup di komentar