2010-12-24 16 views
3

Wenn ich mit drawBitmap() ein Bitmap auf einem Ansichtsbereich zeichne, werden die Bilder neu abgetastet, sodass 1 Pixel im Bild 1 Mal auf dem Bildschirm angezeigt wird. Auf einem Gerät, das ich mit hoher Pixeldichte habe, bedeutet das, dass jedes Bildpixel über 1,5 Bildschirmpixel verteilt wird, was das Bild verschlechtert. Handlich im Allgemeinen, aber in einigen Fällen möchte ich die Bilder, die ich zeichnen möchte, sorgfältig auswählen und dann explizit auf ihre ursprüngliche Größe zeichnen, damit sie nicht beeinträchtigt werden. Wie mache ich das?DrawBitmap, wobei ein Pixel einem Pixel entspricht

Antwort

3
BitmapFactory.Options opts = new BitmapFactory.Options(); 
opts.inScaled = false; 
Bitmap mBitmap = BitmapFactory.decodeResource(mResource, R.drawable.resource, opts); 

alternativ können Sie Ihre Ressourcen lagern in einem res/ziehbar-nodpi Ordner

+0

Ich bin nicht korrekte Ergebnisse mit entweder von denen bekommen. Es macht immer noch genau dasselbe. Muss ich noch etwas tun? Übrigens habe ich die API auf 1.6 gesetzt, damit sie inScaled unterstützt - was ich nicht mag, aber ich denke, ich kann etwas tun: http://blog.tomgibara.com/post/190539066/android-unskaliert- Bitmaps – rob