Я использую androidsvg-1.2.1.jar для рендеринга изображения svg. Исходный размер изображения составляет 260 пикселей в ширину и 100 пикселей по высоте. Я попытался установить ширину изображений пропорционально ширину дисплея следующим образом:Как использовать метод setDocumentViewBox() в AndroidSVG
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);
Документы говорят, что методы getDocumentHeight
, setDocumentWidth
и метод setDocumentViewBox
принимают входные значения в пикселях. Но в этом случае viewbox оценил размер, но сама картинка располагалась в левом верхнем углу окна просмотра, а размер был намного меньше размера окна просмотра (менее четырех раз).
Когда я изменил последнюю строку кода в
svg.setDocumentViewBox(0, 0, width/4, height/4);
размер изображения становится почти равным размеру ViewBox, но все еще остается немного меньше. Почему это происходит? И какие значения следует применять ко входу метода setDocumentViewBox
?