У моего приложения есть функция, позволяющая пользователю снимать фотографию и добавлять рисунок на эту фотографию.Android Canvas не рисует больше размеров экрана
Все фотографии переделаны точно в 900 x 900
. Чтобы пользователь мог добавить рисунок к изображению. Я держу transparent image
над original image
и делаю рисунок на прозрачном изображении. Рисование выполняется с использованием canvas
.
Но при нанесении на устройство, которое имеет 720 x 480
(высота x ширина). Если я создаю прозрачное изображение 900 x 900
и рисую линию от 0,0
до 900,900
, холст только рисует линию от 0,0
до 480,480
.
Ниже приводится соответствующая часть кода:
Подготовка Canvas:
holder = getHolder();
if (holder.getSurface().isValid()) {
Canvas canvas = holder.lockCanvas();
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
/* original image is 900 x 900 */
overlayBitmap = Bitmap.createBitmap(originalImage.getWidth(), originalImage.getHeight(), originalImage.getConfig());
canvas.setBitmap(overlayBitmap);
}
Drawing Line:
canvas.drawLine(0, 0, 900, 900, paint);
Я понятия не имею, почему я с этим вопрос. Это из-за использования canvas
?? Есть ли какая-нибудь работа? Любая помощь очень ценится :-)
Спасибо, но добавленный код используется только для целей тестирования. –
Я понятия не имею, что это значит. Я объяснил в общем смысле, почему ваши строки не рисуют ожидаемого размера. Пожалуйста, приложите усилия, чтобы понять, что означает, что для устройств Android используются пиксели разного размера. –