Вниз
Скачать: CL | DM;

Bitmap   Найти похожие ветки 

 
AlexSSS   (2003-09-06 19:45) [0]

Люди, пожалуйста, подскажите, как конвертировать цветное изображение в формате BitMap в оттенки серого. И, вообще, зная формат bmp можно описать структуру
Record
Var1: Type1;
Var2: Type2;
...
end;
и считать из файла переменную такого типа???
Заранее благодарен, Алексей.


 
TButton ©   (2003-09-06 20:47) [1]

глупость какая.... надо найти среднее из RGB каждого пикселя, а потом это среднее присвоить и R, и G, и B. imho.


 
Fenik ©   (2003-09-06 20:50) [2]

По поводу:

> Люди, пожалуйста, подскажите, как конвертировать цветное изображение в формате BitMap в оттенки серого.

procedure GrayBmp(Bitmap: TBitmap);

function BLimit(A: Integer): Byte;
begin
if A < 0 then Result := 0
else if A > 255 then Result := 255
else Result := A;
end;

var n: Byte;
x, y: Integer;
Dest: pRGBTriple;

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
n := BLimit(Round((rgbtBlue + rgbtGreen + rgbtRed)/3));
rgbtBlue := n;
rgbtGreen := n;
rgbtRed := n;
end;
Inc(Dest);
end;
end;
end;

А насчёт остального - ты сам-то понял, что спросил?



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

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



Память: 0.45 MB
Время: 0.015 c
11-25270
Ал
2003-04-18 16:48
2004.01.09
Работа с COM


1-25384
АМБ
2003-12-24 17:11
2004.01.09
Работа с DBGrid-ом


14-25607
Layner
2003-12-17 08:58
2004.01.09
Ищу карту России/мира в формате MAPINFO


14-25554
Тимохов
2003-12-18 17:31
2004.01.09
Chess


14-25558
lipskiy
2003-12-15 02:04
2004.01.09
Эмулятор принтера?




   Наверх