Convert 4444 bitmaps to 8888

Bug #10206452

Change-Id: I928c9189b0d80741490b01a739959d8c2d5312a7
(cherry picked from commit a2cdb59b186d0ee51f110c1a7d358911573d48bf)
This commit is contained in:
Romain Guy
2013-08-15 12:54:53 -07:00
parent 0d8afa2ea3
commit 3ed72781a0

View File

@@ -222,8 +222,12 @@ static jobject Bitmap_creator(JNIEnv* env, jobject, jintArray jColors,
} }
} }
SkBitmap bitmap; // ARGB_4444 is a deprecated format, convert automatically to 8888
if (config == SkBitmap::kARGB_4444_Config) {
config = SkBitmap::kARGB_8888_Config;
}
SkBitmap bitmap;
bitmap.setConfig(config, width, height); bitmap.setConfig(config, width, height);
jbyteArray buff = GraphicsJNI::allocateJavaPixelRef(env, &bitmap, NULL); jbyteArray buff = GraphicsJNI::allocateJavaPixelRef(env, &bitmap, NULL);
@@ -232,8 +236,7 @@ static jobject Bitmap_creator(JNIEnv* env, jobject, jintArray jColors,
} }
if (jColors != NULL) { if (jColors != NULL) {
GraphicsJNI::SetPixels(env, jColors, offset, stride, GraphicsJNI::SetPixels(env, jColors, offset, stride, 0, 0, width, height, bitmap);
0, 0, width, height, bitmap);
} }
return GraphicsJNI::createBitmap(env, new SkBitmap(bitmap), buff, isMutable, NULL, NULL); return GraphicsJNI::createBitmap(env, new SkBitmap(bitmap), buff, isMutable, NULL, NULL);