I have a byte array, which contains an image... i'd like to save it cropped.
My working method was: get the byte[] convert it into a bitmap with BitmapFactory.decodebytearray make another bitmap from it with createbitmap(sourceBitmap, x1, y1, whileX, whileY) recycle the first (uncropped one) save out the second, then recycle that too
the problem is that for a while it exists 2 bitmap, the original and the cropped one, and thats why i cant use this method with larger images (over 3MP)
is there a way to crop image directly from the byte array? I saw that there is a decodeByteArray(dataArray, offset, length, options), but i couldn't make an image from it (the remaining data was not an image)... could someone help maybe?
The method decodeByteArray(dataArray, offset, length, options)
is not intended to crop an image but to parse an image from a byte buffer that contains more data than the image itself. The typical use of this is to extract images from complex binary data structures that include images among other things.
To my knowledge there is no way to crop an image without creating a new one. To me the best you can do is what you are currently doing.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With