Failed binder transaction when putting an bitmap dynamically in a widget

This is caused because all the changes to the RemoteViews are serialised (e.g. setInt and setImageViewBitmap ). The bitmaps are also serialised into an internal bundle. Unfortunately this bundle has a very small size limit. You can solve it by scaling down the image size this way: public static Bitmap scaleDownBitmap(Bitmap photo, int newHeight, Context … Read more

Creating an empty bitmap and drawing though canvas in Android

This is probably simpler than you’re thinking: int w = WIDTH_PX, h = HEIGHT_PX; Bitmap.Config conf = Bitmap.Config.ARGB_8888; // see other conf types Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap Canvas canvas = new Canvas(bmp); // ready to draw on that bitmap through that canvas Here’s the official documentation on … Read more

Most memory efficient way to resize bitmaps on android?

This answer is summarised from Loading large bitmaps Efficiently which explains how to use inSampleSize to load a down-scaled bitmap version. In particular Pre-scaling bitmaps explains the details of various methods, how to combine them, and which are the most memory efficient. There are three dominant ways to resize a bitmap on Android which have … Read more

What Haskell representation is recommended for 2D, unboxed pixel arrays with millions of pixels?

For multi-dimensional arrays, the current best option in Haskell, in my view, is repa. Repa provides high performance, regular, multi-dimensional, shape polymorphic parallel arrays. All numeric data is stored unboxed. Functions written with the Repa combinators are automatically parallel provided you supply +RTS -Nwhatever on the command line when running the program. Recently, it has … Read more

How to convert image file data in a byte array to a Bitmap?

Just try this: Bitmap bitmap = BitmapFactory.decodeFile(“/path/images/image.jpg”); ByteArrayOutputStream blob = new ByteArrayOutputStream(); bitmap.compress(CompressFormat.PNG, 0 /* Ignored for PNGs */, blob); byte[] bitmapdata = blob.toByteArray(); If bitmapdata is the byte array then getting Bitmap is done like this: Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapdata, 0, bitmapdata.length); Returns the decoded Bitmap, or null if the image could not be … Read more

Convert Bitmap to File

Hope it will help u: //create a file to write bitmap data File f = new File(context.getCacheDir(), filename); f.createNewFile(); //Convert bitmap to byte array Bitmap bitmap = your bitmap; ByteArrayOutputStream bos = new ByteArrayOutputStream(); bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/, bos); byte[] bitmapdata = bos.toByteArray(); //write the bytes in file FileOutputStream fos = new FileOutputStream(f); fos.write(bitmapdata); … Read more

Converting a view to Bitmap without displaying it in Android?

there is a way to do this. you have to create a Bitmap and a Canvas and call view.draw(canvas); here is the code: public static Bitmap loadBitmapFromView(View v) { Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b); v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom()); v.draw(c); return b; } if the view wasn’t displayed before … Read more

Android: Bitmaps loaded from gallery are rotated in ImageView

So, as an example… First you need to create an ExifInterface: ExifInterface exif = new ExifInterface(filename); You can then grab the orientation of the image: orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1); Here’s what the orientation values mean: http://sylvana.net/jpegcrop/exif_orientation.html So, the most important values are 3, 6 and 8. If the orientation is ExifInterface.ORIENTATION_ROTATE_90 (which is 6), for … Read more