drawBitmap中一个像素等于一个像素

3

如果我使用drawBitmap()在视图画布上绘制位图,那么这些图像将被重新采样,以使图像中的1个像素在屏幕上成为1个dip。在我的高像素密度设备上,这意味着每个图像像素将分布在1.5个屏幕像素上,从而降低了图像质量。虽然这通常是方便的,但在某些情况下,我希望仔细选择要绘制的图像,然后显式地以它们的本机大小进行绘制,以使它们不会降级。我该怎么做?

1个回答

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

你也可以将你的资源存储在 res/drawable-nodpi 文件夹中。


我使用这两个方法都没有得到正确的结果。它仍然做着完全相同的事情。我还需要做些什么吗?顺便说一下,我已经将API提升到1.6,以支持inScaled -- 我不喜欢这样做,但我想我可以像这样做:http://blog.tomgibara.com/post/190539066/android-unscaled-bitmaps - rob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接