From 8719bb8308df5293adf75082ca07429589ab7eb5 Mon Sep 17 00:00:00 2001 From: Mis012 Date: Sat, 16 Mar 2024 23:36:35 +0100 Subject: [PATCH] Bitmap: from_path: add alpha channel if missing Skia doesn't support 24bpp bitmaps --- src/api-impl-jni/android_graphics_Bitmap.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/api-impl-jni/android_graphics_Bitmap.c b/src/api-impl-jni/android_graphics_Bitmap.c index c58803a7..7837d6d7 100644 --- a/src/api-impl-jni/android_graphics_Bitmap.c +++ b/src/api-impl-jni/android_graphics_Bitmap.c @@ -37,6 +37,11 @@ JNIEXPORT jlong JNICALL Java_android_graphics_Bitmap_native_1bitmap_1from_1path( { GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(_CSTRING(path), NULL); android_log_printf(ANDROID_LOG_VERBOSE, "["__FILE__"]", ">>> made pixbuf from path: >%s<, >%p<\n", _CSTRING(path), pixbuf); + if(gdk_pixbuf_get_n_channels(pixbuf) == 3) { // no alpha, add it (skia doesn't support 24bpp) + GdkPixbuf *old_pixbuf = pixbuf; + pixbuf = gdk_pixbuf_add_alpha(pixbuf, false, 0, 0, 0); + g_object_unref(old_pixbuf); + } attach_sk_image(pixbuf);