如果我使用drawBitmap()在视图画布上绘制位图,那么这些图像将被重新采样,以使图像中的1个像素在屏幕上成为1个dip。在我的高像素密度设备上,这意味着每个图像像素将分布在1.5个屏幕像素上,从而降低了图像质量。虽然这通常是方便的,但在某些情况下,我希望仔细选择要绘制的图像,然后显式地以它们的本机大小进行绘制,以使它们不会降级。我该怎么做?
如果我使用drawBitmap()在视图画布上绘制位图,那么这些图像将被重新采样,以使图像中的1个像素在屏幕上成为1个dip。在我的高像素密度设备上,这意味着每个图像像素将分布在1.5个屏幕像素上,从而降低了图像质量。虽然这通常是方便的,但在某些情况下,我希望仔细选择要绘制的图像,然后显式地以它们的本机大小进行绘制,以使它们不会降级。我该怎么做?
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inScaled = false;
Bitmap mBitmap = BitmapFactory.decodeResource(mResource, R.drawable.resource, opts);
你也可以将你的资源存储在 res/drawable-nodpi 文件夹中。