Thank you all for your replies.

It seems the following declaration in the manifest solves the problem:

<supports-screens android:anyDensity="false"/>

On Monday, January 28, 2013 5:59:29 PM UTC+2, Piren wrote:
>
> you can also set the density on the canvas
>
> see this:
>
> http://stackoverflow.com/questions/5014882/drawing-a-bitmap-on-a-canvas-got-scaled
>
> On Monday, January 28, 2013 5:18:21 PM UTC+2, cosminr wrote:
>>
>> Unfortunately, the createBitmap() method which accepts DisplayMetrics was 
>> added in API level 17 and I need to support a much lower API level. I tried 
>> to set the density by passing the DisplayMetrics.densityDpi to 
>> Bitmap.setDensity(int) and the problem still persists.
>>
>> On Monday, January 28, 2013 4:38:16 PM UTC+2, Piren wrote:
>>>
>>> I think its actually the Bitmap's fault... Bitmap.CreateBitmap can also 
>>> get DisplayMatrics as a variable, try that with your device's 
>>> DisplayMatrics (I'm guessing it's High, while the default is something 
>>> lower, thus causing the fuzziness) 
>>>
>>> On Monday, January 28, 2013 12:48:21 PM UTC+2, cosminr wrote:
>>>>
>>>> Hi, I am writing a custom view and for optimization purposes, I draw 
>>>> some static part of the view in a Bitmap. Unfortunately, the quality of 
>>>> the 
>>>> rendering when using an offscreen bitmap is noticeably less compared to 
>>>> rendering into the view's canvas bitmap. Here are two screenshots showing 
>>>> the difference
>>>>
>>>> Rendering into view's Canvas:
>>>>
>>>>
>>>> <https://lh5.googleusercontent.com/-wSjtLmhUgz8/UQZV96LTo6I/AAAAAAAAAEM/r9saff_8dlM/s1600/01_view_canvas.png>
>>>> Rendering into a Bitmap Canvas
>>>>
>>>>
>>>> <https://lh3.googleusercontent.com/-jVuFcXhAf7g/UQZWK7NBNfI/AAAAAAAAAEU/0AfCGfQMudU/s1600/02_bitmap_canvas.png>
>>>> The difference is most noticeable at the horizontal black line. 
>>>> The anti-aliasing algorithm seems to affect more pixels (is wider). 
>>>>
>>>> The drawing code is the same in both cases, and the offscreen canvas is 
>>>> created like this
>>>>
>>>>             final Bitmap tempBitmap = Bitmap.createBitmap(getWidth(), 
>>>> getHeight(), Bitmap.Config.ARGB_8888);
>>>>             final Canvas tempCanvas = new Canvas(tempBitmap);
>>>>
>>>> Any ideas on how to get the same rendering in the offscreen canvas as 
>>>> in the view's ?
>>>>
>>>> Thank you
>>>>
>>>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to