java pobieranie koloru piksela

0

czy zna ktoś może prosty sposób na pobieranie koloru piksela o podanych współrzędnych?

0
gość napisał(a)

czy zna ktoś może prosty sposób na pobieranie koloru piksela o podanych współrzędnych?

Przeszukaj Przyjazną Sieć Przyjazną Wyszukiwarką : http://java.sun.com/j2se/1.4.2/docs/api/java/awt/image/BufferedImage.html#getRGB(int,%20int)

0

jeszcze kiepsko znam angielski datego pytałem bo nie za bardzo wiem jak tego stosować ale i tak dzieki

0

mimo wszystko jakby znalazł się ktoś chętny pomocy to niech napisze prosty schemat jak np. stworzyć panel o jakimś tam kolorze i potem pobrać z dowolego pixela tago panela jego kolor

0

Google mnie tu sprowadziło bo szukałem rozwiązania na ten temat i lipa.
3 dni później, dziesiątki stron, tutoriali mam coś takiego:

try {
BufferedImage bmp=ImageIO.read(new File( "C:\wetory.png" ));
for (int x=0;x<bmp.getWidth(panel);x++){
for (int y=0;y<bmp.getHeight(panel);y++){
Color k=new Color(bmp.getRGB(x, y));
int r=k.getRed();
int g=k.getGreen();
int b=k.getBlue();
if (r==255 && g==255 && b==255){
//nic nie rob
} else {
canvas.setColor(k);
canvas.drawLine(x, y, x, y);
}
}
}
} catch(IOException ex){
Logger.getLogger(Akcja.class.getName()).log(Level.SEVERE, null, ex);
}

klasa BufferedImage ma metodę getrgb(x,y) która zwraca kolor w wartości int.
Można go zapisać do klasy Color podając go jako parametr konstruktora.(5 linia kodu)
Z Color można wytargać poszczególne składowe(6,7,8 linia)

panel to miejsce gdzie rysuję
canvas to rysownik panela.

ten fragment kodu kopiuje jakiś obrazek .png na canvas panelu ale pomija biały kolor.

I na koniec rada: dla akcji gdzie podmieniamy piksele obszarem roboczym powinien być obraz typu BufferedImage a potem dopiero rysować go metodą DrawImage(x,y,miejsce) na wykreślaczu.
pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1