Рисование масштабированного растрового изображения на холсте

#android #canvas #bitmap #scaling

Вопрос:

введите описание изображения здесьЯ хотел бы добавить растровое изображение на холст. Холст имеет высоту 3508 пикселей. Я тестирую высоту, рисуя прямую линию:

         page.getCanvas().drawRect(new Rect(0,0,200,3500),paint);
 

Черный прямоугольник нарисован с небольшим полем размером 8 пикселей внизу. Таким образом, высота холста кажется правильной. К сожалению, у меня действительно странное поведение, когда я пытаюсь нарисовать растровое изображение на холсте. Например, растровое изображение имеет размер 400x800px. Я масштабирую его с помощью этой команды:

 Bitmap dstBmp = Bitmap.createScaledBitmap(srcBmp, 400,2700, true);
 

И нарисуйте его таким образом:

 page.getCanvas().drawBitmap(dstBmp, portfolioImages.get(i).getX(), 0, null);
 

Полученное растровое изображение отображается, но оно определенно больше, чем 2700 пикселей. Когда я устанавливаю прямоугольник на 2700 пикселей, он имеет меньшую высоту (см. Рисунок). Черное поле-это прямоугольник, и оба они имеют размер 2700 пикселей.

У вас есть какие-нибудь идеи, что может вызвать это?