![]() |
как сделать инструмент заливка
Сейчас работаю над созданием небольшого графического редактора во флэше и встал перед одной небольной проблемой.
Создал разные инструменты: карандаш, разные фигуры и т.п., НО НЕ МОГУ СОЗДАТЬ ИНСТРУМЕНТ ЗАЛИВКА, как во всех нормальных графических редакторах. Если кто умеет, или есть исходник, большая просьба, МАЯКНИТЕ :) |
исходника нет. могу подсказать - все твои фигуры и линии копируй в специальный объект - каждую как массив точек - и по клике ведром определяй, какую из них ты редактируешь - и перерисовывай ее нужным цветом
|
Я приблизительно так и думал, но думал, что есть способы попроще.
|
Цитата:
|
А вы векторный редактор делаете или растровый?
|
Я делаю векторный редактор
|
Тогда вам стоит продумать другую схему реализации заливки. То есть хранить каждый объект отдельно и перерисовывать его.
|
Ну в принципе да, это наиболее оптимальный вариант...
|
Цитата:
|
Вложений: 1
Тем не менее вот пример работы заливки (ему правда уже 2 года, да и код там не ахти)
|
Спасибо iNils в который раз уже выручаешь, надеюсь и я когда-нибудь смогу тебе помочь. :)
|
А вот еще теория
http://algolist.manual.ru/graphics/fill.php PS. Забросил я идею с заливкой из-за малой скорости выполнения. |
Теория - это вообще тема, это самое приятное, что я могу получить (не считая исходников конечно :) )
|
Цитата:
у меня другая идея появилась но как реализовать пока не знаю. Вобщем примерно так: 1. делаем битмап из картинки 2. Определяем область заливки (берем точку смотрим её цвети смотрим смежные пикселы на предмет совпадения цвета) 3. В другом битмапе рисуем то че нада залить 4. Аттачим к исходному рисунку нарисованные битмап Ну вобщем как то так... Только пока смутно представляю как смежные пикселы проверять... |
Ищите в гугле, особенно в исходниках Delphi и С, что вы всё велосипед изобретате???
|
Цитата:
Я сделал вот так : Код:
// делаем из нарисованого битмап |
заработало!!!!
косяк был в Код:
var holst:BitmapData = new BitmapData(avatar_mc.oblast.width,avatar_mc.oblast.height, false); |
вот работающий код:
Код:
var holst:BitmapData = new BitmapData(avatar_mc.oblast.width,avatar_mc.oblast.height,false);компонент выбора цвета отдает цвет в виде числа какого то как его конвертнуть в ARGB пока не догнал Сглаживание делает пиксели рядом с линией другого цвет поэтому по контуру заливки белая полоска... толи как то сглаживание отрубить нада то ли заливку больше сделать... |
| Часовой пояс GMT +4, время: 19:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.