Revision: 2961
http://sourceforge.net/p/swingme/code/2961
Author: yuranet
Date: 2025-12-10 22:33:52 +0000 (Wed, 10 Dec 2025)
Log Message:
-----------
gifs work when auto-scaled
Modified Paths:
--------------
me4se/src/javax/microedition/lcdui/Image.java
Modified: me4se/src/javax/microedition/lcdui/Image.java
===================================================================
--- me4se/src/javax/microedition/lcdui/Image.java 2025-12-10 21:52:40 UTC (rev 2960)
+++ me4se/src/javax/microedition/lcdui/Image.java 2025-12-10 22:33:52 UTC (rev 2961)
@@ -204,8 +204,18 @@
img=newImg;
}
else {
- BufferedImage newImg = new BufferedImage((int)(multiplier*img.getWidth()), (int)(multiplier*img.getHeight()), type);
- java.awt.Graphics g = newImg.getGraphics();
+ BufferedImage newImg;
+ if (type == BufferedImage.TYPE_BYTE_INDEXED) {
+ newImg = new BufferedImage((int)(multiplier*img.getWidth()), (int)(multiplier*img.getHeight()), type, (IndexColorModel)img.getColorModel());
+ }
+ else {
+ newImg = new BufferedImage((int)(multiplier*img.getWidth()), (int)(multiplier*img.getHeight()), type);
+ }
+ java.awt.Graphics2D g = newImg.createGraphics();
+ // for indexed images (gifs) we need to set this so that transparency is preserved
+ if (type == BufferedImage.TYPE_BYTE_INDEXED) {
+ g.setComposite(java.awt.AlphaComposite.Src);
+ }
g.drawImage(img, 0, 0, newImg.getWidth(), newImg.getHeight(), 0, 0, img.getWidth(), img.getHeight(), null);
g.dispose();
img=newImg;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|