При помощи данной процедуры на 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)
Хотите сделать оригинальный подарок? Тогда обратите внимание на пледы с логотипом. Здесь осуществляется продажа пледов, а также можно заказать их пошив и нанесение логотипа.