Revision: 2505
http://sourceforge.net/p/swingme/code/2505
Author: yuranet
Date: 2021-07-02 16:11:01 +0000 (Fri, 02 Jul 2021)
Log Message:
-----------
correctly crap scaled images
Modified Paths:
--------------
iOSME/src/javax/microedition/lcdui/Image.java
Modified: iOSME/src/javax/microedition/lcdui/Image.java
===================================================================
--- iOSME/src/javax/microedition/lcdui/Image.java 2021-07-02 15:08:46 UTC (rev 2504)
+++ iOSME/src/javax/microedition/lcdui/Image.java 2021-07-02 16:11:01 UTC (rev 2505)
@@ -258,16 +258,23 @@
}
public UIImage getUIImage(int xSrc, int ySrc, int width, int height, int transform) {
- CGRect srcRect = new CGRect(new CGPoint(xSrc, ySrc), new CGSize(width, height));
- CGImageRef cropped = CoreGraphics.CGImageCreateWithImageInRect(getUIImage().CGImage(), srcRect);
+ UIImage start = getUIImage();
+ double scale = start.scale();
+ CGRect srcRect = new CGRect(new CGPoint(scale * xSrc, scale * ySrc), new CGSize(scale * width, scale * height));
+ CGImageRef cropped = CoreGraphics.CGImageCreateWithImageInRect(start.CGImage(), srcRect);
UIImage transformed;
- if (transform == Sprite.TRANS_NONE) {
+ if (transform == Sprite.TRANS_NONE && scale == 1.0) {
transformed = UIImage.imageWithCGImage(cropped);
}
else {
- transformed = UIImage.imageWithCGImageScaleOrientation(cropped, getUIImage().scale(), Graphics.getUIImageOrientation(transform));
+ transformed = UIImage.imageWithCGImageScaleOrientation(cropped, scale, Graphics.getUIImageOrientation(transform));
}
CoreGraphics.CGImageRelease(cropped);
+
+ if (transformed.scale() != scale || transformed.size().width() != width || transformed.size().height() != height) {
+ throw new IllegalStateException("scale is not correct " + transformed.scale() +"="+ start.scale() +" "+ transformed.size().width() +"="+ width +" "+ transformed.size().height() +"="+ height);
+ }
+
return transformed;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|