Tôi sẽ sử dụng phương thức getRGB của BufferedImage. Tôi muốn kiểm tra các điểm ảnh của một hình ảnh và xem cái nào trong số chúng có độ trong suốt (nói chung các điểm ảnh tôi sẽ có trong suốt sẽ là trong suốt). Làm thế nào tôi có thể lấy nó từ int mà getRGB trả về?Java BufferedImage làm thế nào để biết nếu một điểm ảnh là trong suốt
6
A
Trả lời
17
BufferedImage img = ....
public boolean isTransparent(int x, int y) {
int pixel = img.getRGB(x,y);
if((pixel>>24) == 0x00) {
return true;
}
}
Tất nhiên img phải ở định dạng đúng TYPE_4BYTE_ABGR hoặc một số định dạng hỗ trợ kênh alpha nếu sẽ luôn mờ đục (nghĩa là 0xff).
0
thay đổi chính xác để nhận giá trị alpha trong int là bằng >>> do bit dấu.
ví dụ: int alpha1 = (pixel1 & 0xff000000) >>> 24;
Các vấn đề liên quan
- 1. Làm thế nào để thay thế màu sắc trong BufferedImage trong JAVA
- 2. Làm thế nào để tính toán java BufferedImage filesize
- 3. Làm cho một điểm ảnh trong suốt trong Matlab
- 4. Làm thế nào tôi có thể tìm ra nơi một BufferedImage có Alpha trong Java?
- 5. Làm thế nào để bạn sao chép một BufferedImage
- 6. Làm thế nào để biết nếu một DateTime là giữa một DateRange trong C#
- 7. Làm thế nào để tôi biết nếu một chức năng là đệ quy đuôi trong F #
- 8. Làm thế nào để biết nếu văn bản đã chọn là bên trong một div cụ
- 9. Làm thế nào để biết nếu một loại là một chuyên ngành của std :: vector?
- 10. Làm thế nào để chuyển đổi BufferedImage thành 8 bit?
- 11. Làm cách nào để tải hình ảnh khổng lồ đến Java qua BufferedImage?
- 12. Làm thế nào để biết nếu yêu cầu là ajax trong asp.net trong Application_Error()
- 13. Làm thế nào để biết nếu .keyup() là một nhân vật chủ chốt (jQuery)
- 14. Sự khác biệt giữa Hình ảnh và BufferedImage trong Java
- 15. BufferedImage to BMP trong Java
- 16. Làm cách nào để hiển thị BufferedImage trong JFrame?
- 17. Trong NSDateComponents, làm thế nào để bạn biết nếu nó là AM hoặc PM?
- 18. làm thế nào để biết nếu yêu cầu là ajax trong asp.net MVC?
- 19. Làm thế nào để biết nếu UserControl đang hoạt động khác hơn là sử dụng IsFocused
- 20. Làm thế nào để biết nếu urllib.urlretrieve thành công?
- 21. Java: làm thế nào để làm đệm đôi trong Swing?
- 22. Làm thế nào để vẽ một vòng tròn trong suốt?
- 23. Làm thế nào để vẽ một con đường thông suốt từ điểm đầu đến điểm kết thúc trong D3.js
- 24. Java, Runtime.exec hoặc ProcessBuilder: làm thế nào để biết nếu tập tin là vỏ hoặc nhị phân?
- 25. Làm thế nào để tạo JButton một phần trong suốt trên JFrame hoàn toàn trong suốt?
- 26. làm thế nào để biết nếu một biến là một tuple, một chuỗi hoặc một số nguyên?
- 27. Làm thế nào để biết nếu __uint128_t được định nghĩa
- 28. Làm cách nào để tải Ảnh trong suốt từ ImageList?
- 29. Làm thế nào để biết một tập tin là một EXE hoặc một DLL?
- 30. Chuyển đổi Graphics2D thành một hình ảnh hoặc BufferedImage
'int transparency = ((img.getRGB (x, y) & 0xff000000) >> 24);' Byte đầu tiên là giá trị alpha. – Chad