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

Я сделал собственный ImageView, у которого есть метод onDraw, который рисует круг на определенных пикселях. Проблема в том, что я использую ImageView для загрузки растрового изображения, и мне нужно, чтобы холст был того же размера, что и растровое изображение, а держатель ImageView снова был того же размера.

кто-нибудь знает, как этого добиться?


person cptham    schedule 11.07.2011    source источник


Ответы (2)


final SurfaceHolder holder = getSurfaceHolder();
Canvas c = new Canvas();
c = holder.lockCanvas();
c.save();
c.drawBitmap(yourBitmap,0,0,null);
c.restore();
holder.unlockCanvasAndPost(c);

Насколько я понимаю, вам не нужно беспокоиться о размере холста.

person citizen conn    schedule 11.07.2011
comment
Мой собственный класс представления (который имеет метод onDraw) в настоящее время расширяет ImageView. Нужно ли вместо этого расширять SurfaceHolder? Также, как мне реализовать прокрутку и масштабирование? - person cptham; 12.07.2011
comment
Я обычно использую SurfaceViews вместо ImageViews для этого типа вещей. Однако я не уверен в каких-либо сравнениях производительности. - person citizen conn; 12.07.2011

Разве не будет работать определение размера растрового изображения в вашем onMeasure() и установка настраиваемого размера представления?

person source.rar    schedule 11.07.2011