Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

Grayscale > X-Scale   Найти похожие ветки 

 
X-Disa   (2004-10-10 11:52) [0]

Всем привет! У меня есть grayscale изображение. И есть цвет (например clred). Задача такая: Из Grayscale сделать redscale и т.д. Чтоб черный цвет в данном случае заменился на красный, а остальные - на его оттенки. Белый так и должен остаться белым.


 
Fenik   (2004-10-10 12:05) [1]

Дам тебе заготовку.
С алгоритмом самостоятельно разбирайся.

type
 TRGB = record
   B, G, R: Byte;
 end;
 pRGB = ^TRGB;

procedure Proc(Bitmap: TBitmap);
var Dest: pRGB;
   X, Y: Word;
begin
 Bitmap.PixelFormat := pf24Bit;
 for Y := 0 to Bitmap.Height - 1 do begin
   Dest := Bitmap.ScanLine[y];
   for X := 0 to Bitmap.Width - 1 do begin
     with Dest^ do begin
       B := // синий
       G := // зеленый
       R := // красный
     end;
     Inc(Dest);
   end;
 end;
end;


Например, инверсия:

procedure InvertBitmap(Bitmap: TBitmap);
var x, y: Integer;
   Dest: pRGB;
begin
 Bitmap.PixelFormat := pf24Bit;
 for y := 0 to Bitmap.Height - 1 do begin
   Dest := Bitmap.ScanLine[y];
   for x := 0 to Bitmap.Width - 1 do begin
     with Dest^ do begin
       R := 255 - R;
       G := 255 - G;
       B := 255 - B;
     end;
     Inc(Dest);
   end;
 end;
end;


 
X-Disa   (2004-10-10 13:02) [2]

Спасибо конечно, но эти алгоритмы я уже давно знаю... Мне б найти сам алгоритм преобразования. Я один наисал, но он не совсем так как надо работает.


 
Mihey_temporary ©   (2004-10-10 13:43) [3]

http://delphibase.endimus.ru


 
Fenik   (2004-10-10 14:54) [4]

> X-Disa  (10.10.04 13:02) [2]
> Мне б найти сам алгоритм преобразования.


Ты думаешь, такой существует?



Страницы: 1 вся ветка

Текущий архив: 2005.01.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.034 c
1-1104141949
Vyacheslav
2004-12-27 13:05
2005.01.16
Как определить тип операционной системы ???


6-1098884112
ЛамерОК
2004-10-27 17:35
2005.01.16
Выключить комп по LAN без программы-сервера


6-1098539346
Пронч
2004-10-23 17:49
2005.01.16
Прокси.


14-1104424751
Alex_S
2004-12-30 19:39
2005.01.16
Где берут лицензионные Delphi7 и надо ли оно?


3-1102885803
SergP
2004-12-13 00:10
2005.01.16
ADOQuery. Подмена данных при их получении.