Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
swing:convert-icon-to-image 2014/05/12 09:39 | swing:convert-icon-to-image 2020/01/22 20:59 aktuell | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
[[swing:swing|Java - AWT/Swing]]\\ | [[swing:swing|Java - AWT/Swing]]\\ | ||
====== Icon zu Image konvertieren ====== | ====== Icon zu Image konvertieren ====== | ||
+ | //java.awt.Image//\\ | ||
+ | //javax.swing.Icon//\\ | ||
+ | Folgenden kleine Methode konvertiert ein Icon zu einem Image:\\ | ||
<html> | <html> | ||
<script type="text/javascript"><!-- | <script type="text/javascript"><!-- | ||
Zeile 21: | Zeile 24: | ||
</html> | </html> | ||
\\ | \\ | ||
+ | \\ | ||
+ | Da Icon nur ein Interface ist, hängt es davon ab, wer dieses Interface implementiert hat. Besonders einfach ist es bei ImageIcon.\\ | ||
<code java> | <code java> | ||
- | Icon icon = ... | + | public Image convertIconToImage(Icon icon) { |
- | Image image = ((IconImage)icon).getImage(); | + | if (icon instanceof ImageIcon) { |
+ | return ((ImageIcon)icon).getImage(); | ||
+ | } else { | ||
+ | int width = icon.getIconWidth(); | ||
+ | int height = icon.getIconHeight(); | ||
+ | BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); | ||
+ | Graphics2D g2 = (Graphics2D) image.getGraphics(); | ||
+ | icon.paintIcon(null, g, 0, 0); | ||
+ | return image; | ||
+ | } | ||
+ | } | ||
</code> | </code> | ||
+ | \\ | ||
+ | Siehe auch [[http://javawiki.sowas.com/doku.php?id=swing:image-bufferedimageicon|Image zu BufferedImage konvertieren]] | ||