fix AwtImage to texture data conversion
This commit is contained in:
parent
07d01762ea
commit
daf43858bb
@ -36,9 +36,9 @@ public class AwtBitmap implements Bitmap {
|
||||
this.bitmap = ImageIO.read(inputStream);
|
||||
this.width = this.bitmap.getWidth();
|
||||
this.height = this.bitmap.getHeight();
|
||||
// if (!this.bitmap.isAlphaPremultiplied()
|
||||
// && this.bitmap.getType() == BufferedImage.TYPE_INT_ARGB)
|
||||
// this.bitmap.coerceData(true);
|
||||
if (!this.bitmap.isAlphaPremultiplied()
|
||||
&& this.bitmap.getType() == BufferedImage.TYPE_INT_ARGB)
|
||||
this.bitmap.coerceData(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -96,16 +96,16 @@ public class AwtBitmap implements Bitmap {
|
||||
|
||||
for (int i = 0, n = width * height; i < n; i++) {
|
||||
int c = pixels[i];
|
||||
if (internal) {
|
||||
//if (internal) {
|
||||
float alpha = (c >>> 24) / 255f;
|
||||
int r = (int) ((c & 0x000000ff) * alpha);
|
||||
int b = (int) (((c & 0x00ff0000) >>> 16) * alpha);
|
||||
int g = (int) (((c & 0x0000ff00) >>> 8) * alpha);
|
||||
pixels[i] = (c & 0xff000000) | r << 16 | g << 8 | b;
|
||||
} else {
|
||||
//} else {
|
||||
// flip blue with red - silly Java
|
||||
pixels[i] = (c & 0xff00ff00) | (c & 0x00ff0000) >>> 16 | (c & 0x000000ff) << 16;
|
||||
}
|
||||
// pixels[i] = (c & 0xff00ff00) | (c & 0x00ff0000) >>> 16 | (c & 0x000000ff) << 16;
|
||||
//}
|
||||
}
|
||||
|
||||
buffer.put(pixels, 0, width * height);
|
||||
|
Loading…
x
Reference in New Issue
Block a user