Главная страница
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
3-1077703542
VolanD2002
2004-02-25 13:05
2004.03.28
DBGrid


3-1077721200
TIP
2004-02-25 18:00
2004.03.28
ADO v Win95


3-1077787286
dolmat
2004-02-26 12:21
2004.03.28
Добавление поля


1-1078949604
White
2004-03-10 23:13
2004.03.28
Преобразование типов! (Вопрос второй)


1-1078416237
Тамплиер
2004-03-04 19:03
2004.03.28
Проверка версии