Как редактировать изображение, например, для постоянного добавления текста на изображение, которое становится частью этого изображения в Android? - PullRequest
2 голосов
/ 12 сентября 2011

У меня есть следующее требование У меня есть изображение в моем телефоне Android. Теперь я хочу отредактировать это изображение таким образом, чтобы оно стало частью моего изображения. например, скажем, я хочу написать текст на изображении, например дату, когда оно будет отредактировано, и написать имя на изображении, которое я дам. Теперь сохраните это изображение, и теперь, если я снова открою это изображение, текст, который я написал, также будет показан, потому что теперь он становится частью моего изображения (это похоже на то, что мы делаем в фотошопе). Я надеюсь, что мое требование очень ясно. Я искал на стеке потока, но не получил должного способа работы. я нашел только изображение с текстом, наложенным на это не реальное отредактированное изображение. Спасибо всем, кто попытается решить мой вопрос.

Ответы [ 2 ]

3 голосов
/ 12 сентября 2011

Вы должны открыть изображение как Bitmap и отредактировать его с помощью canvas, а затем просто сохранить его на SD-карту.

    in = new FileInputStream("/sdcard/test2.png");
    buf = new BufferedInputStream(in);
    Bitmap bMap = BitmapFactory.decodeStream(buf);

Затем присвойте его холсту:

Canvas myCanvas = new Canvas(bMap);

Редактировать! Очевидно, вам нужно сделать копию растрового изображения перед его изменением: посмотрите на этот вопрос для получения дополнительной информации: Загрузка ресурса в изменяемое растровое изображение

Чтобы нарисовать текст или что-то еще на холсте, вам нужна краска.

Paint myPaint = new Paint();
myPaint.setColor(Color.Black);
myPaint.setTextSize(25);
myCanvas.drawText("Your text", positionX, positionY, myPaint); //Set the position where you like

Тогда вы сохраните свое изображение

try {
       FileOutputStream out = new FileOutputStream("Your filename");
       bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
       e.printStackTrace();
}

Ссылки:

0 голосов
/ 13 августа 2013

Вы должны добавить это изображение в качестве фона относительного макета и добавить текстовое представление поверх этого макета.Кроме того, вы можете переместить текст поверх относительного макета.Когда вы сохраняете это действие, обратите внимание на положение, текстовое значение, размер текста, шрифт и т. Д. TextView, а затем вам нужно взять невидимую относительную компоновку в фоновом режиме, которая похожа на фактический размер изображения, и поместить textView пропорционально ранее отмеченному измерению, чтобыэто не потеряет качество изображения и действия textView.Наконец, вам нужно сделать снимок этого невидимого относительного макета и преобразовать его в формат JPEG или по своему усмотрению.Это работает и реально использовать снимок экрана программно.если вы хотите реализовать это, я также могу предоставить код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...