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

Вниз

Ггрфика. 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.042 c
14-1078140492
John S.
2004-03-01 14:28
2004.03.28
AVP кто нибудь юзает ?


3-1077132078
Andrey V.
2004-02-18 22:21
2004.03.28
ИбКонсоль не ест пароль.


1-1078932333
pasha_golub
2004-03-10 18:25
2004.03.28
НЕ могу поймать WM_NOTIFy


4-1074078497
Petrovich
2004-01-14 14:08
2004.03.28
Не могу найти GetModuleUsage


1-1078605576
_Stalker_
2004-03-06 23:39
2004.03.28
Access Violation