我使用 androidsvg-1.2.1.jar 来渲染 svg 图像。图像的原始尺寸为宽 260 像素,高 100 像素。我尝试将图像的宽度设置为与显示的宽度成比例,如下所示:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
height = (int) (width / 2.6);
svg.setDocumentHeight(height);
svg.setDocumentWidth(width);
svg.setDocumentViewBox(0, 0, width, height);
文档说 methodsgetDocumentHeight
和setDocumentWidth
methodsetDocumentViewBox
接受以像素为单位的输入值。但是在这种情况下,viewbox 有估计的大小,但图片本身位于 viewbox 的左上角,并且它的大小远小于 viewbox 的大小(小于大约四倍)。
当我将代码的最后一行更改为
svg.setDocumentViewBox(0, 0, width/4, height/4);
图片的大小已经几乎等于viewbox的大小,但仍然小了一点。为什么会这样?什么值应该应用于setDocumentViewBox
方法的输入?