Zamierzam użyć metody getRGB z BufferedImage. Chcę sprawdzić piksele obrazu i zobaczyć, które z nich mają przezroczystość (ogólnie piksele, które będę przezroczyste, będą całkowicie przezroczyste). Jak mogę uzyskać to z int, że getRGB zwraca?Java BufferedImage jak sprawdzić, czy piksel jest przezroczysty
6
A
Odpowiedz
17
BufferedImage img = ....
public boolean isTransparent(int x, int y) {
int pixel = img.getRGB(x,y);
if((pixel>>24) == 0x00) {
return true;
}
}
oczywiście IMG musi być w odpowiednim formacie lub TYPE_4BYTE_ABGR pewnym formacie, który obsługuje kanałów alfa else if zawsze będzie nieprzezroczysty (tj 0xff).
0
Poprawna zmiana, aby uzyskać wartość alfa w int, jest >>> ze względu na bit znaku.
przykład: int alpha1 = (piksel1 & 0xff000000) >>> 24;
Powiązane problemy
- 1. Utwórz przezroczysty piksel w programie Matlab
- 2. Jak wymienić kolory w BufferedImage w JAVA
- 3. Jak sprawdzić, czy klasa Java jest abstrakcyjna?
- 4. Jak sprawdzić, czy Java Future jest kompletna?
- 5. Java: podstawowe kreślenie, rysowanie punktu/kropka/piksel
- 6. Ustalanie, czy GIF jest przezroczysty w Pythonie
- 7. Java konwersja obrazu do BufferedImage
- 8. Java: VolatileImage wolniej niż BufferedImage
- 9. Jak poprawnie załadować BufferedImage w java?
- 10. Java - Jak sprawdzić, czy podział jest liczbą całkowitą czy zmiennoprzecinkową?
- 11. Jak wybrać typ obrazu BufferedImage do użycia?
- 12. Czy obiekt jest "przezroczysty" dla zdarzeń myszy?
- 13. Wykrywanie, czy plik obrazu PNG jest przezroczysty?
- 14. Java: BufferedImage do tablicy bajtów iz powrotem
- 15. UIToolBar jest przezroczysty
- 16. Jak sprawdzić, czy plik jest gzip lub nie w java
- 17. Jak sprawdzić, czy ścieżka jest względna lub bezwzględna w java
- 18. Jak sprawdzić, czy ciąg znaków jest prawidłową zmienną języka Java?
- 19. Jak sprawdzić, czy JSONArray jest pusty w java?
- 20. Jak sprawdzić, czy dany wiersz kodu jest napisany w java?
- 21. Java - Jak sprawdzić, czy nazwa pliku jest poprawna?
- 22. java - Jak sprawdzić, czy mój obiekt jest typu danej klasy?
- 23. Dynamiczne zmiany rozmiaru BufferedImage w java
- 24. Jak klonować obiekt BufferedImage
- 25. Jak sprawdzić, czy nazwa klasy jest poprawna?
- 26. Jak sprawdzić, czy jest konsola?
- 27. Java BufferedImage do formatu PNG Base64 String
- 28. Jak sprawdzić, czy zdalny system jest osiągalny?
- 29. Jak sprawdzić, czy gniazdo JZMQ jest podłączone?
- 30. Czy istnieje prosty sposób porównywania wystąpień BufferedImage?
'int transparency = ((img.getRGB (x, y) i 0xff000000) >> 24);' Pierwszy bajt jest wartością alfa. – Chad