написать комментарий на растровое изображение - PullRequest
1 голос
/ 22 ноября 2010

У меня есть растровое изображение, отображаемое в ImageView, теперь я хочу дать возможность написать комментарий, набранный пользователем на этом растровом изображении.

Я попытался использовать

 Canvas canvas = new Canvas(srcBitmap); canvas.drawText("Hello", 100,100,null);

, но это даетя следующая ошибка

java.lang.IllegalStateException: Неизменяемое растровое изображение передается конструктору Canvas

, позже я хочу сохранить все это растровое изображение

Ответы [ 2 ]

1 голос
/ 22 ноября 2010

Откуда вы взяли свое растровое изображение? Из исключения это означает, что вы используете ресурс / актив напрямую, который не может быть изменен (он находится в реальном apk). Чтобы избежать этого, вам нужно сделать копию растрового изображения и использовать его для холста. Здесь у вас есть примеры для работы.

0 голосов
/ 11 декабря 2014

Как указал Мосс, растровое изображение должно быть изменяемым. Вот некоторый исходный код, как вы можете это сделать:

//first, get bitmap and make it mutable
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
Bitmap mutableBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
//now, create canvas and paint as you like
Canvas canvas = new Canvas(mutableBitmap);
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStrokeWidth(5);
canvas.drawLine(0, 0, canvas.getWidth(), canvas.getHeight(), paint);
//finally, convert back to icon
Drawable icon = new BitmapDrawable(context.getResources(), mutableBitmap);
getSupportActionBar().setIcon(icon);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...