Главная страница
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.025 c
3-1077782258
Alex*
2004-02-26 10:57
2004.03.28
Как пользоваться командой DbiPackTable


6-1074267027
Инкогнито
2004-01-16 18:30
2004.03.28
Адрес отправителя


7-1072073900
наблюдатель
2003-12-22 09:18
2004.03.28
Icon


9-1063096418
GCreator
2003-09-09 12:33
2004.03.28
DMX...???


3-1075444031
KADAN
2004-01-30 09:27
2004.03.28
Изменение размеров NUMERIC