У меня есть два ImageIcons, и я хочу создать третий ImageIcon, который имеет nr 2, нарисованный на nr 1. Как бы мне лучше всего это сделать?ImageIcon + ImageIcon = ImageIcon
1
A
ответ
7
Следующий код принимает Image
от двух ImageIcon
s и создает новый ImageIcon
.
Изображение из второго ImageIcon
рисуется на верхней части изображения из первой, а затем полученное изображение используется, чтобы сделать новый ImageIcon
:
Image img1 = imageIcon1.getImage();
Image img2 = imageIcon2.getImage();
BufferedImage resultImage = new BufferedImage(
img1.getWidth(null), img1.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics2D g = resultImage.createGraphics();
g.drawImage(img1, 0, 0, null);
g.drawImage(img2, 0, 0, null);
g.dispose();
ImageIcon resultImageIcon = new ImageIcon(resultImage);
Редактировать (Устранены некоторые ошибки, добавлено поддержка прозрачности.)
Для обеспечения прозрачности BufferedImage.TYPE_INT_ARGB
может использоваться для типа изображения в конструкторе, а не для BufferedImage.TYPE_INT_RGB
, который не имеет альфа-канала.
Смежные вопросы
- 1. исключение ImageIcon
- 2. список ImageIcon
- 3. Дисплей ImageIcon
- 4. java imageicon и рамка
- 5. ImageIcon в JTableCell
- 6. Загрузка ImageIcon из источника
- 7. дисплея ImageIcon в JLabel
- 8. Array of JLabel ImageIcon
- 9. ImageIcon in JButton
- 10. Jlabel image/ImageIcon
- 11. Java ImageIcon на апплета
- 12. извлечения пути к ImageIcon
- 13. Проект Eclipse с ImageIcon
- 14. No ImageIcon display
- 15. не может добавить ImageIcon
- 16. JWindow не отображает ImageIcon
- 17. Изменить ImageIcon во
- 18. ImageIcon загружает изображение нет
- 19. Java: строка для ImageIcon?
- 20. изменение размера ImageIcon
- 21. Обновление ImageIcon ячейки JTable
- 22. Java ImageIcon Анимация Мигает
- 23. Java ImageIcon не работает
- 24. Использование ImageIcon в intellij
- 25. ImageIcon не отображается
- 26. JSpinner's JButton to ImageIcon
- 27. Java ImageIcon размер
- 28. Jbutton setTooltip() as ImageIcon?
- 29. Как объявить массив imageIcon?
- 30. Как добраться до ImageIcon?
Это довольно близко, новое изображение, кажется, имеет черный фон вместо прозрачного – willcodejavaforfood
Изменен тип TYPE_4BYTE_ABGR, который позаботился об альфе. Большое спасибо – willcodejavaforfood