Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.056 c
1-1104008774
барбос
2004-12-26 00:06
2005.01.16
помогите перевести на Delphi


1-1104328264
Egloo
2004-12-29 16:51
2005.01.16
String vs. WideString в DLL


14-1103989879
uny
2004-12-25 18:51
2005.01.16
Задача


4-1101586442
GePo
2004-11-27 23:14
2005.01.16
Квота на запускаемы процесс


3-1103199107
stud
2004-12-16 15:11
2005.01.16
ошибка при попытке выполнения процедуры




   Наверх