Вход

Просмотр полной версии : Заливка растрового изображения


plazom
26.04.2007, 22:27
Задача состоит в том, что мне нужно подгрузить растровую картинку которая не находится в библиотеке. И для этой картинки реализовать заливку. Например фотография с человеком в синей одежде. Одежду нужно сделать крассной програмно.
Я думал использовать BitmapData. Но там, как я понял, картинка должна находиться в библиотеке. Ну и даже при этом когда я делаю floodFill заливка происходит по одному пикселю или по два. Связано это я так думаю с оттенками. Может есть програмный способ сделать аналог операции trace bitmap? Тогда бы заливка происходила бы автоматически после этого с помощью метода floodFill. Ну есть вариант еще попиксельно заливать. Анализировать каждый соседний пиксель самостоятельно и устанавливать для пикселя цвет, если его первоначальный цвет соответствует норме отклонения от цвета самого первого пикселя на который я буду ориентироваться. Правда при этом я все равно не знаю можно ли для BitmapData загружать фотку из вне. В общем если может кто нибудь, то подскажите хоть чтото по этому поводу. Я знаю что такое можно реализовать, но не знаю как. Спасибо.

iNils
26.04.2007, 23:53
1. Создать пустой мувиклип.
2. Загрузить в него картинку.
3. Создать BitmapData размером с загруженную картинку.
4. С помощью метода draw снять с мувиклипа с картинкой "скриншот" в BitmapData.
5. Не понятно причем тут floodFill? Что вы хотите сделать?
6. Все вопросы с просьбой помочь задавать на форуме, а не писать мне на email.

plazom
27.04.2007, 14:38
Да спасибо. Подгружать я понял как картинку. С помощью floodFill я хотел реализовать заливку отдельной области картинки, но мне кажется что так не получится, так как оттенков много и поэтому заливка будет по несколько пикселей в лучшем случае получаться. Может можно както сделать чтоб похожие цвета при этом воспринимались как один цвет? Или необходимо анализировать самому цвета соседних пикселей и самому програмно делать заливку по пикселям. Хотелось бы конечно это сделать автоматически. Еще раз спасибо за помощь.

wvxvw
27.04.2007, 16:06
Загрузить картинку, как описал iNils, (предварительно сделав ее монохромной), а потом использовать flash.geom.ColorTransform для изменения цвета в нужном направлении.