Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.06.2006, 12:27
Morozov1982 вне форума Посмотреть профиль Отправить личное сообщение для Morozov1982 Найти все сообщения от Morozov1982
  № 11  
Ответить с цитированием
Morozov1982
 
Аватар для Morozov1982

Регистрация: Dec 2005
Адрес: Казахстан, г.Алматы.
Сообщений: 147
Отправить сообщение для Morozov1982 с помощью ICQ
Спасибо iNils в который раз уже выручаешь, надеюсь и я когда-нибудь смогу тебе помочь.

Старый 20.06.2006, 12:27
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 12  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
А вот еще теория
http://algolist.manual.ru/graphics/fill.php

PS. Забросил я идею с заливкой из-за малой скорости выполнения.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.06.2006, 12:36
Morozov1982 вне форума Посмотреть профиль Отправить личное сообщение для Morozov1982 Найти все сообщения от Morozov1982
  № 13  
Ответить с цитированием
Morozov1982
 
Аватар для Morozov1982

Регистрация: Dec 2005
Адрес: Казахстан, г.Алматы.
Сообщений: 147
Отправить сообщение для Morozov1982 с помощью ICQ
Теория - это вообще тема, это самое приятное, что я могу получить (не считая исходников конечно )

Старый 04.02.2008, 09:41
SvTol вне форума Посмотреть профиль Отправить личное сообщение для SvTol Посетить домашнюю страницу SvTol Найти все сообщения от SvTol
  № 14  
Ответить с цитированием
SvTol

Регистрация: May 2006
Адрес: Новосибирская обл.
Сообщений: 44
Отправить сообщение для SvTol с помощью ICQ
Цитата:
Сообщение от Король
исходника нет. могу подсказать - все твои фигуры и линии копируй в специальный объект - каждую как массив точек - и по клике ведром определяй, какую из них ты редактируешь - и перерисовывай ее нужным цветом
массив точек... жестко.
у меня другая идея появилась но как реализовать пока не знаю.
Вобщем примерно так:
1. делаем битмап из картинки
2. Определяем область заливки (берем точку смотрим её цвети смотрим смежные пикселы на предмет совпадения цвета)
3. В другом битмапе рисуем то че нада залить
4. Аттачим к исходному рисунку нарисованные битмап

Ну вобщем как то так... Только пока смутно представляю как смежные пикселы проверять...

Старый 04.02.2008, 11:43
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 15  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
Ищите в гугле, особенно в исходниках Delphi и С, что вы всё велосипед изобретате???

Старый 04.02.2008, 20:27
SvTol вне форума Посмотреть профиль Отправить личное сообщение для SvTol Посетить домашнюю страницу SvTol Найти все сообщения от SvTol
  № 16  
Ответить с цитированием
SvTol

Регистрация: May 2006
Адрес: Новосибирская обл.
Сообщений: 44
Отправить сообщение для SvTol с помощью ICQ
Цитата:
Сообщение от flash33
исходниках Delphi и С
особенно если не видел ни того ни другого никогда

Я сделал вот так :
Код:
// делаем из нарисованого битмап
var holst:BitmapData = new BitmapData(avatar_mc.oblast.width,avatar_mc.oblast.height);
holst.draw(avatar_mc,null,null,null,avatar_mc.oblast);
// заливаем то что надо
holst.floodFill(m_x, m_y, 0x00FF0000);
// делаем ещё один битмап из нарисованного
var ishodnik:BitmapData = new BitmapData(avatar_mc.oblast.width,avatar_mc.oblast.height);
ishodnik.draw(avatar_mc,null,null,null,avatar_mc.oblast);
//сравниваем битмапы			
var diffBmpData:BitmapData = holst.compare(ishodnik) as BitmapData;
// а терь заливаем ещё раз
diffBmpData.floodFill(m_x, m_y, pipetka.selectedColor);
//ну а теперь аттачим все это к нарисвоаному
var bm:Bitmap = new Bitmap(diffBmpData);
bm.x=0;
bm.y = 0;
avatar_mc.addChild(bm);
не пашет. почему пока не понял. не работает заливка битмапа...

Старый 04.02.2008, 20:29
SvTol вне форума Посмотреть профиль Отправить личное сообщение для SvTol Посетить домашнюю страницу SvTol Найти все сообщения от SvTol
  № 17  
Ответить с цитированием
SvTol

Регистрация: May 2006
Адрес: Новосибирская обл.
Сообщений: 44
Отправить сообщение для SvTol с помощью ICQ
заработало!!!!
косяк был в
Код:
var holst:BitmapData = new BitmapData(avatar_mc.oblast.width,avatar_mc.oblast.height, false);

Старый 04.02.2008, 20:59
SvTol вне форума Посмотреть профиль Отправить личное сообщение для SvTol Посетить домашнюю страницу SvTol Найти все сообщения от SvTol
  № 18  
Ответить с цитированием
SvTol

Регистрация: May 2006
Адрес: Новосибирская обл.
Сообщений: 44
Отправить сообщение для SvTol с помощью ICQ
вот работающий код:
Код:
var holst:BitmapData = new BitmapData(avatar_mc.oblast.width,avatar_mc.oblast.height,false);
				holst.draw(avatar_mc,null,null,null,avatar_mc.oblast);
				holst.floodFill(m_x, m_y, 0x00FF0000);
				
            	var ishodnik:BitmapData = new BitmapData(avatar_mc.oblast.width,avatar_mc.oblast.height,false);
				ishodnik.draw(avatar_mc,null,null,null,avatar_mc.oblast);
				
				var diffBmpData:BitmapData = holst.compare(ishodnik) as BitmapData;				
				var resultat:BitmapData = new BitmapData(avatar_mc.oblast.width,avatar_mc.oblast.height,true);
				resultat.draw(diffBmpData,null,null,null,avatar_mc.oblast);
				
resultat.floodFill(m_x, m_y, 0xFFFF0000);
resultat.floodFill(1, 1, 0x00FFFFFF);
			
				
var bm:Bitmap = new Bitmap(resultat);
bm.x=0;
bm.y = 0;
avatar_mc.addChild(bm);
трабылы:
компонент выбора цвета отдает цвет в виде числа какого то как его конвертнуть в ARGB пока не догнал
Сглаживание делает пиксели рядом с линией другого цвет поэтому по контуру заливки белая полоска...
толи как то сглаживание отрубить нада то ли заливку больше сделать...

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:46.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.