Почитайте!

Нас читают

Статьи о программировании и не только

Mail.Ru

Rambler's Top100

Programming Blogs - BlogCatalog Blog Directory


Как инвертировать изображение? (способ 2)

Delphi FAQ >> Графика

При помощи данной процедуры на Delphi можно инвертировать изображение, хранящееся в Bitmap (только для 24 и 32-битных картинок):

//Только для 24 и 32-битных изображений!
procedure InvertBitmap(Bitmap: TBitmap);
var
  BytesPorScan: Integer;
  vi_width, vi_height: Integer;
  p: pByteArray;
begin
  if not (Bitmap.PixelFormat in [pf24Bit, pf32Bit]) then
    raise exception.create('Error, Format File not soported!');
  try
    BytesPorScan := Abs(Integer(Bitmap.ScanLine[1]) - Integer(Bitmap.ScanLine[0]));
  except
    raise exception.create('Error');
  end;
  for vi_height := 0 to Bitmap.Height - 1 do
  begin
    P := Bitmap.ScanLine[vi_height];
    for vi_width := 0 to BytesPorScan - 1 do
        P^[vi_width] := 255-P^[vi_width];
  end;
end;

Ссылки в тему:
  Как инвертировать изображение? (способ 1)


Хотите сделать оригинальный подарок? Тогда обратите внимание на пледы с логотипом. Здесь осуществляется продажа пледов, а также можно заказать их пошив и нанесение логотипа.