Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ггрфика. Image. [D6]


Artur ©   (2003-11-12 16:23:00) 

Кто нибудь занет процедуру, как можно в Image отобразить негатив просматриваемого рисунка? Заранее спасибо!


miek   (2003-11-22 23:07:00) [1]

Если б не проверял, не сказал бы. Я сравнивал со своим циклом, оптимизированным под параллельность (по 2,4,8 DWORD-ов за итерацию) и получил вариант только на 15-20% более быстрый, чем InvertRect. Даже MMX не поможет.


Fenik   (2003-11-22 22:44:00) [2]

А ты проверь.


miek   (2003-11-13 21:34:00) [3]

Гонишь.


Fenik   (2003-11-13 09:36:00) [4]

Моя процедура быстрее :-))


miek   (2003-11-12 18:17:00) [5]

Да не парьте мОзги человеку.

Есть такая процедура в WinAPI - InvertRect.

Все, хватит флейма.


Fenik   (2003-11-12 17:03:00) [6]

procedureInvertBitmap(Bitmap: TBitmap);
typeTRGB = record
      B, G, R: Byte;
    end;
    pRGB = ^TRGB;
varx, y: Integer;
   Dest: pRGB;
begin
 Bitmap.PixelFormat := pf24Bit;
  fory := 0 toBitmap.Height - 1 do begin
   Dest := Bitmap.ScanLine[y];
    forx := 0 toBitmap.Width - 1 do begin
      withDest^ do begin
       R := 255 - R;
       G := 255 - G;
       B := 255 - B;
      end;
     Inc(Dest);
    end;
  end;
end;


Darthman   (2003-11-12 16:35:00) [7]

А что так сложно сделать?
Pixel:=;АААААААА XOR Pixel; И так со всеми. Вот и негатив.


Darthman   (2003-11-12 16:35:00) [8]

Прошу прощения, конечно же Pixel:=$FFFFFFFF XOR Pixel; :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо