Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2012, 13:05   #1
Yungo161
Пользователь
 
Регистрация: 20.06.2011
Сообщений: 61
По умолчанию Как в Bitmap редактировать пиксели

пишу графический редактор.
в этом редакторе нужен только карандаш (да, такой вот он странный)
я понимаю что мы рисуем в битмэпе и отображаем потом на канву. но вот такие вопросы:
как определенному пикселю в этом самом битмэпе присвоить определенный цвет.
как проанализировать все пиксели битмэпа на RGB и положение в битмэпе
и как потом вывести их на канву но с небольшим условием: каждый пиксель битмэпа отображается как квадратик со стороной допустим в 5 пикселей. как квадратик рисовать, знаю. не знаю как ему присвоить цвет скажем 51 56 76 который получаем из битмэпа
как потом сохранить полученое нечто в *.bmp
Yungo161 вне форума Ответить с цитированием
Старый 01.02.2012, 15:54   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

загружаете рисунок в компонент PaintBox.
карандаш должен бегать за нажатой мышкой.
координаты мыши:
в обработчике paintBox.OnMouseDown пишете:
Код:
xc:=Mouse.CursorPos.x;
yc:=Mouse.CursorPos.y;
PainBox.Canvas.Pixels[xc,yc]:=clRed;//и все эти пиксели делаем красными или ещё какими...
а если надо сам цвет узнать, то вот так
Код:
col:=PainBox.Canvas.Pixels[xc,yc];
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 01.02.2012, 17:04   #3
Yungo161
Пользователь
 
Регистрация: 20.06.2011
Сообщений: 61
По умолчанию

так как цвету присвоить значение RGB? чтобы я сам мог выбрать какой я хочу серобуропошкарябаный или зеленомалиновый..
Yungo161 вне форума Ответить с цитированием
Старый 01.02.2012, 17:09   #4
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от Yungo161 Посмотреть сообщение
так как цвету присвоить значение RGB? чтобы я сам мог выбрать какой я хочу серобуропошкарябаный или зеленомалиновый..
Например так:
Код:
PaintBox.Canvas.Pixels[xc,yc]:=RGB(255,255,0);
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.02.2012, 17:21   #5
Yungo161
Пользователь
 
Регистрация: 20.06.2011
Сообщений: 61
По умолчанию

пишет что эдентификатор RGB не найден
Yungo161 вне форума Ответить с цитированием
Старый 01.02.2012, 17:28   #6
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от Yungo161 Посмотреть сообщение
пишет что эдентификатор RGB не найден
что-то не так делаете...функция RGB находиться в юните windows...
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.02.2012, 17:33   #7
Yungo161
Пользователь
 
Регистрация: 20.06.2011
Сообщений: 61
По умолчанию

а есть другие варианты?
скажем объявлять col:tcolor; и както с ним работать по другому?
Yungo161 вне форума Ответить с цитированием
Старый 01.02.2012, 17:38   #8
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

емм..лучше по возможности закиньте архив cюда, посмотрю чего оно не хочет работать, а должно работать(теоретически :D)
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.02.2012, 17:40   #9
Yungo161
Пользователь
 
Регистрация: 20.06.2011
Сообщений: 61
По умолчанию

дело в том что я работаю не в делфи а в ее бесплатном аналоге лазарусе в котором все тоже самое по стандартным функциям
Yungo161 вне форума Ответить с цитированием
Старый 01.02.2012, 17:45   #10
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от Yungo161 Посмотреть сообщение
дело в том что я работаю не в делфи а в ее бесплатном аналоге лазарусе в котором все тоже самое по стандартным функциям
ага, так бы сразу сказали
там нужно RGBToColor, вместо RGB.
Delphi_ProGer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как редактировать видео? jetyb C# (си шарп) 1 12.07.2011 17:11
Как правильно редактировать? AK BULLETS Общие вопросы Delphi 1 22.03.2010 18:41
из-за чего появляется полоса (на скрине) при вставке BitMap в TImage? - Проблема с Bitmap Grey@2009 Мультимедиа в Delphi 2 02.01.2010 20:23
Как редактировать видео? Николай11 Софт 1 10.09.2009 14:18
Как найти координаты всех пиксели объекта? Cerebrum Мультимедиа в Delphi 10 11.05.2009 15:27