Главная страница
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.022 c
1-74133
oens
2003-10-11 00:28
2003.10.23
Прокрутка в WebBrowser


14-74478
NightCold
2003-10-02 22:16
2003.10.23
SMTP


3-74004
alex25
2003-09-30 17:24
2003.10.23
Функция текущей даты


1-74148
Zew
2003-10-09 20:27
2003.10.23
Слайд-шоу


9-73958
Juster~
2003-04-20 13:49
2003.10.23
Организация рендеринга