Я запрограммировал что-то вроде краски. У меня есть JPanel, и я могу рисовать его. Я использую только черную линию. Я хочу преобразовать его в двоичный массив, где 1 - когда пиксель черный, 0 - белый (фон). Возможно? Как это сделать?Преобразование JPanel в двоичный массив
2
A
ответ
2
Вкратце, создайте BufferedImage
с такими же размерами, как ваш JPanel и paint the panel. Затем вы можете выполнить итерацию по растровому изображению, чтобы получить последовательность значений цветов пикселей, соответствующих черно-белым. Например
// Paint the JPanel to a BufferedImage.
Dimension size = jpanel.getSize();
int imageType = BufferedImage.TYPE_INT_ARGB;
BufferedImage image = BufferedImage(size.width, size.height, imageType);
Graphics2D g2d = image.createGraphics();
jpanel.paint(g2);
// Now iterate the image in row-major order to test its pixel colors.
for (int y=0; y<size.height; y++) {
for (int x=0; ix<size.width; x++) {
int pixel = image.getRGB(x, y);
if (pixel == 0xFF000000) {
// Black (assuming no transparency).
} else if (pixel == 0xFFFFFFFF) {
// White (assuming no transparency).
} else {
// Some other color...
}
}
}
+0
Смотрите также [ComponentImageCapture.java] (http://stackoverflow.com/questions/5853879/java-swing-obtain-image-of-jframe/5853992#5853992). –
Смежные вопросы
- 1. C Программирование Преобразование целого в двоичный массив
- 2. начинающий Java: преобразование изображения в двоичный массив
- 3. Преобразование изображения в двоичный массив и двоичный массив в изображение в java
- 4. Преобразование JFrame в JPanel
- 5. Преобразование char в двоичный
- 6. Преобразование шестнадцатеричного в двоичный
- 7. Преобразование источника в двоичный
- 8. Преобразование MP3 в двоичный
- 9. Преобразование изображения в двоичный
- 10. Преобразование ip в двоичный
- 11. Преобразование 0x0AF8 в двоичный
- 12. преобразование hex в двоичный
- 13. Преобразование изображения в двоичный?
- 14. Преобразование строки в двоичный
- 15. Преобразование в двоичный: Matlab
- 16. Преобразование шестнадцатеричного в двоичный
- 17. Integer массив в двоичный массив
- 18. Двоичный массив на холст
- 19. Преобразование целочисленного массива в двоичный массив в python
- 20. Двоичный массив в Python
- 21. двоичный массив, вопросы собеседования
- 22. Преобразование массива RGBA numpy в двоичный массив 2d numpy
- 23. Преобразование целого числа в целочисленный массив или двоичный
- 24. Преобразование десятичного массива в двоичный массив строк с calloc
- 25. Преобразование Numpy двоичный строковый массив обратно в строку
- 26. C# двоичный массив до десятичного?
- 27. Преобразование JDialog в Jframe/JPanel
- 28. Преобразование области JPanel в BufferedImage
- 29. Преобразование строки в двоичный файл в swift?
- 30. Преобразование десятичных чисел в 4-битный двоичный
http://stackoverflow.com/questions/113897/how-do-i-get-the-image-paint-paintcomponent-generates должно помочь вам начать – Robin