i guess i'm starting to learn a thing or two about organizing my stuff, and as result decided to post the result of one task that is a part of a bigger task, that is a part of an idea that i'm already getting tired of chasing...
my app has to display images and i want to be able to rotate them! sounds simple, and it is! especially with the miracle of Internet, GOOG and stackoverflow.com
so we have this imageview...
ImageView imageView = (ImageView) findViewById(R.id.test_image1);
we're loading some picture onto it...
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
and turns out there is this lovely Matrix class, that exists for all kind of math abuses
Matrix mat = new Matrix();
mat.postRotate(gradus);
so we can take the original bitmap and apply the matrix operation on it
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(), bMap.getHeight(), mat, true);
and when we set this image on the imageView we expect to see the rotated image, right?
imageView.setImageBitmap(bMapRotate);
but somewhere something is wrong or some manual has not been read, cause a vital piece is missing: you have to set scale type on the imageView, (before assigning the new image?)
imageView.setScaleType(ScaleType.MATRIX);
now this will work fine and will leave this highly uninformative post online, so i can remember how i did it!
i simply don't have the time to research the why's and do's - at least not right now that i'm still in prototyping phase and the steam has already began to ...steam away...
i lost a few days (all right - couple of hours over few days) with the rotate images problem and at least it made me learn to split bigger tasks into smaller ones - and how effective and helpful it can be!
No comments :
Post a Comment