Я разрабатываю приложение для фотографии, в котором я хочу выбрать конкретный раздел фотографии и растянуть только эту часть. Как это сделать? Я попытался растянуть фотографию, используя Canvas
, но не смог этого сделать. Возможно ли это от android.graphics.NinePatch
класс? Любые предложения?Android, как растянуть конкретный раздел изображения?
ответ
А довольно уродливое решение будет использовать image cropping library. Вы можете использовать его, чтобы временно обрезать часть изображения и загрузить его в другой ImageView
, а затем масштабировать его.
Также вы можете сделать все, не используя CropImageView
. Идея заключается в том, что когда пользователь прикасается к исходному представлению изображения, вам предоставляется (x, y), на котором находится палец пользователя. Таким образом, вы можете извлечь растровое изображение с центром в (x, y) и с заданным радиусом.
Для применения эффекта лупы вы можете использовать round/circular ImageView для отображения увеличенной части изображения.
Что-то вроде этого:
Я уже использовал эти библиотеки, но я не хочу обрезать. Я хочу растянуть часть изображения и слить на оригинальное изображение одновременно. –
@HarshitRathi Что вы подразумеваете под "stretch"? масштабировать или перетаскивать, чтобы размазать? –
Это означает увеличить часть изображения и применить к оригинальному изображению. –
Вы можете использовать матрицу, чтобы применить новое измерение к вашему растровому изображению. Вы можете использовать setscale
/postScale
методы матричного объекта.
Как это возможно, есть ли у вас пример? –
Наконец я нашел решение моей проблемы ниже:
Bitmap stretchImage = Bitmap.createBitmap(w, h+progress, Bitmap.Config.ARGB_8888);
c = new Canvas(stretchImage);
//draw top bit
c.drawBitmap(normalImage, new Rect(0,0,w,75), new Rect(0,0,w,75), null);
//draw middle bit
c.drawBitmap(normalImage, new Rect(0,75,w, 150), new Rect(0,75,w,150+progress), null);
//draw right bit
c.drawBitmap(normalImage, new Rect(0 ,150,w,225), new Rect(0 ,150+progress,w,225+progress), null);
myImage.setImageBitmap(stretchImage);
- 1. Как обновить конкретный раздел?
- 2. Сверху - Как растянуть изображения?
- 3. Как перезагрузить конкретный раздел tableview
- 4. Как развернуть отдельный конкретный раздел?
- 5. Android растянуть фоновое изображение при перетаскивании изображения.
- 6. этикетки Режим изображения растянуть
- 7. Получить конкретный раздел данного меню
- 8. Изменить цвет фона (конкретный раздел)
- 9. Как растянуть/масштабировать фоновые изображения в линейном формате Android?
- 10. Как растянуть изображение, не нарушая соотношение сторон изображения в Android?
- 11. Как получить конкретный раздел раздела реестра
- 12. Как работает этот конкретный раздел кода?
- 13. Как получить конкретный раздел строки в PHP
- 14. Как получить конкретный раздел внутри страницы MAN?
- 15. Как получить конкретный раздел JSON в строку?
- 16. Раздел «Внутренний раздел Android»
- 17. Гиперссылка на конкретный раздел на странице html
- 18. Растянуть середину изображения по горизонтали
- 19. Android - получить раздел взятого изображения с onTouch
- 20. Как растянуть ImageButton без размытия изображения?
- 21. Как растянуть сегмент изображения в html/css
- 22. Как растянуть отдельные фоновые изображения в CSS
- 23. Ссылка, чтобы открыть конкретный раздел приложения (android и ios)
- 24. Как растянуть изображение программно?
- 25. Ссылка на конкретный раздел в package-info.java
- 26. Выход LogStash Kafka в конкретный раздел
- 27. Сделать конкретный раздел веб-страницы прокручиваемым
- 28. получить конкретный раздел из html doc
- 29. Поместить ячейку в конкретный раздел представления таблицы
- 30. dd раздел изображения отличается
возможный дубликат http://stackoverflow.com/questions/14177546/android-cut-a-part-off-a-bitmap-and -scale-it – NIPHIN
@NIPHIN Я не хочу вырезать часть изображения или растровое изображение, хочу растянуть выбранную область изображения и слить на исходное изображение. –
Почему вы не используете щепотку, чтобы увеличить выделенную область и сохранить этот холст в виде растрового изображения? –