我一直遇到大尺寸图片被调整大小以便在Android中使用UI的问题。
看看这张图片,它是ImageView
:
原始图像(该弧是一个进度条)大约是您在此处看到的大10倍。在UWP(Windows平台)中,我们使用非常大的图像没有问题,但在Android中,我相信它是用于将图像拟合到UI元素中的最近邻方法,如您所见,会导致锐边。
有没有办法将其切换到另一种方法?像Bicubic?它发生在我测试过的所有Android版本中(4.1,5.0,6.0)
简而言之,我正在使用Xamarin 4,我不认为这是一个促成因素
没有运气在互联网上搜索,我担心我是唯一一个遇到这个问题的人
感谢。
答案 0 :(得分:1)
您应该使用矢量图像而不是位图图像。
位图x矢量
位图通过一系列彩色像素表示图像。而矢量图像由几何形状(线,曲线)使用颜色表示。
矢量图像的主要用途是允许缩放而不会丢失定义。
答案 1 :(得分:1)
如上所述,您应该更喜欢使用矢量图像而不是像素图像。
但是如果你必须使用像素图像,也许你可以使用BitmapRegionDecoder来解码图像行并编写你自己的重采样算法(比如Bilinear Interpolation,它比Near Near好得多)来调整图像的大小,通常在JNI方面。
另一种可能的方法是使用" filter"调用Bitmap.createBitmap方法时的参数,因为原始图像不会导致OOM问题,只需将其设置为true,它就可以减少工件。