You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
implement Bitmap.compress()
This commit is contained in:
@@ -79,6 +79,14 @@ JNIEXPORT void JNICALL Java_android_graphics_Bitmap_native_1get_1pixels
|
||||
JNIEXPORT void JNICALL Java_android_graphics_Bitmap_native_1copy_1to_1buffer
|
||||
(JNIEnv *, jclass, jlong, jobject, jint, jint);
|
||||
|
||||
/*
|
||||
* Class: android_graphics_Bitmap
|
||||
* Method: native_save_to_png
|
||||
* Signature: (J)[B
|
||||
*/
|
||||
JNIEXPORT jbyteArray JNICALL Java_android_graphics_Bitmap_native_1save_1to_1png
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -113,3 +113,15 @@ JNIEXPORT void JNICALL Java_android_graphics_Bitmap_native_1copy_1to_1buffer(JNI
|
||||
release_nio_buffer(env, array_ref, array);
|
||||
gdk_texture_downloader_free(downloader);
|
||||
}
|
||||
|
||||
JNIEXPORT jbyteArray JNICALL Java_android_graphics_Bitmap_native_1save_1to_1png(JNIEnv *env, jclass class, jlong texture_ptr)
|
||||
{
|
||||
GdkTexture *texture = GDK_TEXTURE(_PTR(texture_ptr));
|
||||
GBytes *bytes = gdk_texture_save_to_png_bytes(texture);
|
||||
jbyteArray result = (*env)->NewByteArray(env, g_bytes_get_size(bytes));
|
||||
gsize size;
|
||||
gconstpointer data = g_bytes_get_data(bytes, &size);
|
||||
(*env)->SetByteArrayRegion(env, result, 0, size, data);
|
||||
g_bytes_unref(bytes);
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user