Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TBitmap: как работать с картинкой попиксельно, Работа с BMP 
:(
    Опции темы
Dedal
Дата 10.5.2005, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 6.5.2004

Репутация: нет
Всего: нет



Интересует, можно ли через TBitmap попиксельно работать с картинкой. Т.е. получать/писать значения пикселя. Например, хочу узнать значение R (или любой другой) составляющей пикселя с коорд. 1,1 в картинке (от 0 до 255) и в случае чего записать вместо существующего значения свое.
PM MAIL   Вверх
Dufe
Дата 10.5.2005, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 23.3.2005

Репутация: нет
Всего: нет



Код

procedure Div2(var clip: tbitmap; Amount: Integer);
var
p0:pbytearray;
rg,r,x,y:  Integer;
begin
  clip.pixelformat:=pf24bit;
  for y:=0 to clip.Height-1 do
  begin
    p0:=clip.scanline[y];
    for x:=0 to clip.Width-1 do
    begin
      r:=p0[x*3];
      g:=p0[x*3+1];
      b:=p0[x*3+2];
      p0[x*3]:=r div 2;
      p0[x*3+1]:=g div 2;
      p0[x*3+2]:=b div 2;
    end;
  end;
end;


Это сообщение отредактировал(а) Dufe - 10.5.2005, 23:37
PM MAIL WWW ICQ   Вверх
MacTep
Дата 11.5.2005, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4



Можно вручную и не вычислять значение составляющих цвета r,g,b. Можно их получить при помощи функций GetRValue, GetGValue,GetBValue. Так проще!


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Dedal
Дата 11.5.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 6.5.2004

Репутация: нет
Всего: нет



MacTep а что за параметр у этих функций?
Добавлено @ 09:54
Dufe зачем при записи div 2?
PM MAIL   Вверх
Dufe
Дата 11.5.2005, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 23.3.2005

Репутация: нет
Всего: нет



div 2 -это просто пример. С ними можно делать всё что угодно главное, чтобы значение p0[x+?] присваивалось байтовое , т.е. [0..255].
PM MAIL WWW ICQ   Вверх
MacTep
Дата 11.5.2005, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: нет
Всего: 4



Параметр - значение цвета пикселя (тип - TColor) . Его значение будет разложено на три составляющих: зеленый, красный и синий!


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.