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

Вниз

Преобразование   Найти похожие ветки 

 
niko4543   (2003-06-22 17:59) [0]

Привет всем.
Подскажите пожайлуста как сделать следующее.
Нужноо чтобы вот например открыть BMP файл(или другой формат) чтобы произошла его зуммирование под холст размером 1280х1024,
а потом при нажатии на кнопку произошло разделение на три оттенка:
1- выбрать из него Красные оттенки
2- Зеленые
3- Синие.
Вот такой вопрос есле кто нить что знает подскажите пожайлуста.
Заранее спасибо.


 
Fenik ©   (2003-06-22 20:54) [1]

"зуммирование" - StretchBlt


"разделение на три оттенка":

Bitmap - исходный рисунок, который ты зуммировал;
Bmp1, Bmp2, Bmp3 - рисунки для оттенков, такого же размера, как и Bitmap;
У всех PixelFormat = 24Bit;

var x, y, n: Integer;
p, p1, p2, p3: pByteArray;
begin
for y := 0 to Bitmap.Height - 1 do begin
p := Bitmap.ScanLine[y];
p1 := Bmp1.ScanLine[y]; //Синий
p2 := Bmp2.ScanLine[y]; //Зелёный
p3 := Bmp3.ScanLine[y]; //Красный
for x := 0 to Bitmap.Width - 1 do begin
n := x*3;

p1[n] := p[n];
p1[n+1] := 0;
p1[n+2] := 0;

p2[n] := 0;
p2[n+1] := p[n+1];
p2[n+2] := 0;

p3[n] := 0;
p3[n+1] := 0;
p3[n+2] := p[n+2];
end;
end;
end;

Писал без Delphi: на ошибки не кричать.



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

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

Наверх




Память: 0.46 MB
Время: 0.03 c
4-74541
Michael Makushev
2003-08-18 13:30
2003.10.23
TThread - и совместное использование данных


3-73994
Velvet
2003-09-30 22:10
2003.10.23
предложение DELETE в SQL


1-74140
NOD
2003-10-11 00:06
2003.10.23
Динамическое создание массива


3-74042
WellSlava
2003-10-01 17:01
2003.10.23
CAST в ADO c DBF


1-74317
TGrey
2003-10-11 17:16
2003.10.23
Избранное в Internet Explorer