![]() |
Результат floodFill в другой клип
Доброго времени суток всем!
Столкнулся с задачей: в битмапе необходимо сделать заливку области ограниченой другим цветом. Тоесть как в пеинте ведро. Для этого использую такой код: Код AS1/AS2:
Подскажите, пожалуйста, возможно ли как-то реализовать подобное? Очень важно чтоб залитая область в итоге оказалась именно в новом клипе, а в битмапе все осталось без изменений. Если что-то непонятно - уточню. |
Это сложно и медленно.
|
Ну создайте клип и в нем методами drawing API рисуйте. Или битмап дату поместите туда.
|
dimarik
"Сложно и медленно" - это как я понимаю если делать через getPixel(), setPixel() в цикле волнового алгоритма...? Я очень наделялся, что возможно будет это сделать через стандартную функцию:( Не представляете как я был рад, когда понял, что для заливки не придется писать вышеназванный алгоритм обнаружив функцию floodFill, а получается что результат работы floodFill в другое место я не перенаправлю... Волгоградец "методами drawing API" - это moveTo(),lineTo()? думаю это никак мне не поможет |
А нельзя ли сохранить битмапу до заливки, потом сделать заливку, а потом сравнить новый битмап со старым и получить область заливки? Потом её перенести.
|
Да, методами moveTo(), lineTo(), beginFill(), endFill().
Если не предполагается передвигать заливку, а только менять цвет - можно методом threshold() попробовать - но так затронутся другие области с таким же цветом как заливка. |
Stargazer
Я тоже об этом думал, но не знаю возможно ли это стандартными средствами. Если не возможно, то сравнительно быстрей будет работать самописный floodFill отсылающий результаты в другой клип нежели самописная проверка идентичности старого и нового битмапов. Волгоградец threshold() из-за затрагивания других областей непокатит, да и передвигать заливку нужно будет... а как с помощю moveTo(), lineTo() мне из исходного битмапа сделать заливку неправильной фигуры ограниченой другим цветом? |
Цитата:
|
можно threshold'ом
только он не только то, что floodFill нашел пропустит, но и все пиксели с 0x000000FF, что может быть и не критично, если красить каким-нить экзотичным цветом Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 10:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.