seven332 / image Goto Github PK
View Code? Open in Web Editor NEW[library] Images with data stored in native heap
License: Apache License 2.0
[library] Images with data stored in native heap
License: Apache License 2.0
ImageData and ImageRenderer are mostly used in openGL ES glCopyTexImage2D. glCopyTexImage2D support GL_ALPHA,GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, and GL_RGBA. So they should support four color format, grey, grey alpha, rgb and rgba.
Only decode the first frame of the gif image, just like what skia does.
Decoders consume too much disk space. Additional, Not every application needs all these decoders. There must be a way to select only the decoders in need.
This library should be separated into several libraries. One main library, the entry point. Several image-decoder libraries. Only the decoders in need are added as dependencies.
Decoders must be registered before the main .so file loaded. In the JNI_OnLoad()
of the main .so file, use dlopen()
to load the .so files for decoders, use dlsym()
to create decoder instances.
ImageData 在引用为 0 时自动回收。
I created this library for GLGallery
to decode image into native heap. Now android-gallery
is a better choice, is a normal android widget, can't work with native-heap images.
Backup and buffer in JavaStream make the code hard to read. We can create a Buffer struct, which represent a memory block, to make the code more readable.
BufferStream should be renamed to RawStream.
StaticImage
and AnimatedImage
are native-heap images. They will be removed. We need new image structures, both static and animated.
Hi!
There is Tachiyomi application that uses this library for image decoding and I spotted a problem
inorichi/tachiyomi#589
When application uses this library for image decoding color tones go off for JPG images.
Can you please help?
It's not the feature of progressive JPEG. It means showing newly decoded pixels as soon as possible.
If the source stream is a network stream, this feature improves user experience a lot. Showing the thumbnail first is another way. But this feature is better.
First of all, thank you for this great library. I recently started using it as an additional image decoder in my project and I received today this issue.
I've been testing it and it seems BitmapDecoder
doesn't support interlaced PNG (see screenshot in the linked issue). I've been reading through image_png.c
but I can't find anything relevant.
The codes of image codecs are much more than the codes of this library. 真是喧宾夺主。
Only two externalNativeBuilds are enough. One is singleLib image and image-test. The other one is core image, image codecs, maybe and image-test. After building these shared libraries, copy them to the target gradle module.
It saves much build time if more codecs will be supported.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.