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

Вниз

Как отобразить цветную картинку в градациях серого?   Найти похожие ветки 

 
Артем К   (2003-07-23 02:00) [0]

Привет всем!!!

Вопрос в теме сообщения.

Заранее СПАСИБО!


 
ЮЮ ©   (2003-07-23 03:40) [1]

интенсивность = (R * 61 + G * 174 + B * 21) / 256
( по материалам (коду) Graphics32)
где R,G,B - соответствующие составляющие каждого цвета
Задать R,G,B равными интенсивности


 
Артем К   (2003-07-23 04:08) [2]

>>ЮЮ
Я конечно извиняюсь за ламерство, но можно ли исходник, а от че-то не понятно.
:)


 
ЮЮ ©   (2003-07-23 05:14) [3]

procedure TForm1.BitBtn1Click(Sender: TObject);
var
col, row: integer;
color: TColor;
intensity: integer;
begin
for row := 0 to Image1.Picture.Bitmap.Height - 1 do
for col := 0 to Image1.Picture.Bitmap.Width - 1 do begin
color := Image1.Picture.Bitmap.Canvas.Pixels[col, row];
intensity :=
(
(color and $00FF0000) shr 16 * 61 +
(color and $0000FF00) shr 8 * 174 +
( color and $000000FF) procedure TForm1.BitBtn1Click(Sender: TObject);
var
col, row: integer;
color: TColor;
intensity: integer;
begin
for row := 0 to Image1.Picture.Bitmap.Height - 1 do
for col := 0 to Image1.Picture.Bitmap.Width - 1 do begin
color := Image1.Picture.Bitmap.Canvas.Pixels[col, row];
intensity :=
(
(color and $00FF0000) shr 16 * 61 +
(color and $0000FF00) shr 8 * 174 +
(color and $000000FF) * 21
) shr 8;
color := intensity shl 16 + intensity shl 8 + intensity;
Image1.Picture.Bitmap.Canvas.Pixels[col, row] := color;
end;
end;

end.

P.S. Для ускорения вместо Canvas.Pixels следует использовать Bitmap.ScanLine

P.P.S. Для ещё большего ускорения использoвать библиотеку Graphics32



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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
1-56557
Cr@cker
2003-11-07 21:03
2003.11.17
Как встроить midi файл в проект Delphi?


3-56446
Kinder
2003-10-28 20:01
2003.11.17
ошибка Update где?


14-56826
REA
2003-10-28 10:33
2003.11.17
В каждой шутке...


4-56969
npAKTuk
2003-09-23 15:05
2003.11.17
отлов состояния мышки


3-56518
ripp
2003-10-27 17:57
2003.11.17
В Дельфи 6 ругается на VarArrayOf (undeclared identifier)