function InvertBitmap(MyBitmap: TBitmap): TBitmap;
var
i, j: Integer;
ByteArray: PByteArray;
begin
MyBitmap.PixelFormat := pf24Bit;
for j := 0 to MyBitmap.Height - 1 do
begin
ByteArray := MyBitmap.ScanLine[j];
for i := 0 to MyBitmap.Width * 3 - 1 do
begin
ByteArray[i] := 255 - ByteArray[i];
end;
end;
Result := MyBitmap;
end;
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.Bitmap := InvertBitmap(Image1.Picture.Bitmap);
end;
Фототогалерея ремонтов. Дизайн интерьеров.
eremont.ru
куплю мотовездеходы. Цена на lucky мотовездеходы
panavto-yamaha.ru
Просмотров: 2885
|
0
(30.10.2009) 2. Unnamed user
ByteArray := MyBitmap.ScanLine[y];
Y нигде не объявлен, там должен быть индекс [i]? Ответ: Там, вроде бы, должно быть j
|
|
0
(25.10.2008) 1. Марат
Подтверждаю лишнего кода нет
![]() |
Copyright © 2008-2012 Программирование на Delphi для начинающих и не только
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации
Хостинг от uCoz