Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
| swing:convert-icon-to-image 2014/05/12 09:43 | 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 = ((ImageIcon)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]] | ||