• 1000 получить потоковую передачу и получить результат низкого качества.
Вот код, который я использую для рисования.
Drawable starIcon = getContext().getDrawable(R.drawable.ic_star);
VectorDrawableCompat moonIcon = VectorDrawableCompat.create(getContext().getResources(),R.drawable.ic_moon,getActivity().getTheme());
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(595, 842, 2).create();
PdfDocument.Page page = pdfDocument.startPage(pageInfo);
Canvas canvas = page.getCanvas();
float x = drawX + (perItemWidth * col);
RectF rectF = new RectF();
rectF.set(x + 2.5F - perItemWidth, drawY + 1, x + 1, drawY + perItemHeight - 1);
float importantSpaceFromLeft = (rectF.width() * 10F) / 100F;
float importantSpaceFromTop = ((rectF.height() * 2F) / 100F);
Rect moonIconBounds = new Rect();
moonIconBounds.left = (int) (rectF.left + ((rectF.height() * 10F) / 100F)) + 10;
moonIconBounds.right = (int) (rectF.left + ((rectF.height() * 10F) / 100F)) + 20;
moonIconBounds.bottom = (int) (rectF.bottom - importantSpaceFromTop) - 10 - 2;
moonIconBounds.top = (int) (rectF.bottom - importantSpaceFromTop) - 20 - 2;
//Setting bounds like 0,0,20,20
moonIcon.setBounds(0,0,moonIconBounds.width(),moonIconBounds.height());
canvas.save();
//Translate canvas to draw at x,y
canvas.translate(moonIconBounds.left,moonIconBounds.top);
moonIcon.draw(canvas);
canvas.restore();
Rect starIconBounds = new Rect();
starIconBounds.left = (int) (rectF.left + ((rectF.height() * 10F) / 100F)) + 10;
starIconBounds.right = (int) (rectF.left + ((rectF.height() * 10F) / 100F)) + 20;
starIconBounds.bottom = (int) (rectF.bottom - importantSpaceFromTop);
starIconBounds.top = (int) (rectF.bottom - importantSpaceFromTop) - 10;
//Setting bound from rect
starIcon.setBounds(starIconBounds);
starIcon.draw(canvas);
output
Оба изображения, дающие одинаковые результаты, растягиваются, я не знаю, почему оба вектора преобразуются из SVG . Как добиться результатов теста.