Форум: "Media";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизГгрфика. Image. Найти похожие ветки
← →
Artur (2003-11-12 16:23) [0]Кто нибудь занет процедуру, как можно в Image отобразить негатив просматриваемого рисунка? Заранее спасибо!
← →
Darthman © (2003-11-12 16:35) [1]А что так сложно сделать?
Pixel:=;АААААААА XOR Pixel; И так со всеми. Вот и негатив.
← →
Darthman © (2003-11-12 16:35) [2]Прошу прощения, конечно же Pixel:=$FFFFFFFF XOR Pixel; :)
← →
Fenik © (2003-11-12 17:03) [3]
procedure InvertBitmap(Bitmap: TBitmap);
type TRGB = record
B, G, R: Byte;
end;
pRGB = ^TRGB;
var x, y: Integer;
Dest: pRGB;
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
R := 255 - R;
G := 255 - G;
B := 255 - B;
end;
Inc(Dest);
end;
end;
end;
← →
miek © (2003-11-12 18:17) [4]Да не парьте мОзги человеку.
Есть такая процедура в WinAPI - InvertRect.
Все, хватит флейма.
← →
Fenik © (2003-11-13 09:36) [5]Моя процедура быстрее :-))
← →
miek © (2003-11-13 21:34) [6]Гонишь.
← →
Fenik © (2003-11-22 22:44) [7]А ты проверь.
← →
miek © (2003-11-22 23:07) [8]Если б не проверял, не сказал бы. Я сравнивал со своим циклом, оптимизированным под параллельность (по 2,4,8 DWORD-ов за итерацию) и получил вариант только на 15-20% более быстрый, чем InvertRect. Даже MMX не поможет.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c