Главная страница
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.03 c
3-1077105204
SPeller
2004-02-18 14:53
2004.03.28
Предустановленные сервера БД


14-1078401098
alless
2004-03-04 14:51
2004.03.28
xaker.ru Закрылся?


6-1074156095
yurikon
2004-01-15 11:41
2004.03.28
Как победить sms-оператора


1-1078904652
Карелин Артем
2004-03-10 10:44
2004.03.28
Существует ли свойство у компонента?


6-1073669581
Gringer
2004-01-09 20:33
2004.03.28
результат net time