Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизКак прорисовать массив на канве Найти похожие ветки
← →
Priest © (2006-09-12 10:42) [0]Есть указатель на буфер в котором находится считанная с видео камеры картинка. Как его прорисовать на канве?
← →
Думкин © (2006-09-12 10:55) [1]А формат картинки какой?
← →
Priest © (2006-09-12 11:34) [2]Вообщем сделал так
PPicture := It.BufferPaint;
for k := 0 to 255 do
begin
Pal[i, 0] := $FF;
Pal[i, 1] := i;
Pal[i, 2] := 0;
end;
// Palette erzeugen
with LogPal do
begin
palVersion := $0300;
palNumEntries := 256;
for k := 0 to 255 do
begin
with palPalEntry[k] do
begin
peRed := Pal[k, 0];
peGreen := Pal[k, 1];
peBlue := Pal[k, 2];
peFlags := 0;
end;
end;
end;
pLogPal := @LogPal;
hPal := CreatePalette(pLogPal^);
Bmp := TBitmap.Create;
try
Bmp.Width := It.Get_ResolutX;
Bmp.Height := It.Get_ResolutY;
Bmp.PixelFormat := pf32bit;
Bmp.Palette := hPal;
for y := 0 to Bmp.Height - 1 do
for x := 0 to Bmp.Width - 1 do
begin
Bmp.Canvas.Pixels[x,y]:=PPicture^;
Inc(PPicture);
end;
Bmp.SaveToFile("C:\img"+FloatToStr(Now)+".bmp");
finally
FreeAndNil(Bmp);
end;
← →
Dmitrij_K (2006-09-12 11:40) [3]Bmp.Canvas.Pixels - очень медленный способ
Используй ScanLine
← →
Priest © (2006-09-12 12:05) [4]Dmitrij_K
Я знаю. Вообще в идеале нужно было юзать SetStretchBltMode. Но у меня сразу это метод не заработал. И я не стал заморачиваться. Мне скорость не критична. Я предполагаю считывать картинку 1 раз в секунду.
← →
Думкин © (2006-09-12 12:13) [5]> Priest © (12.09.06 12:05) [4]
1. У вас БМП.
2. Причем тут Моде? Стреч понятно, но моде?
← →
MBo © (2006-09-12 12:28) [6]Можно использовать SetDiBits
← →
Priest © (2006-09-12 12:58) [7]Описался. Хотел написать StretchDIBits
← →
icWasya © (2006-09-12 16:07) [8]А нафига палитра, если Bmp.PixelFormat := pf32bit ??
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c