Graphics в FPC

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
DROник
незнакомец
Сообщения: 2
Зарегистрирован: 13.12.2005 17:50:10

Сообщение DROник »

Всем привет!
Не подскажите, как проще всего на FPC сделать что-то вроде этого?

Код: Выделить всё

 bitmap:= TBitmap.Create;
 bitmap.LoadFromFile(fileName);
 for y:= 0 to bitmap.Height-1 do begin
  P:= bitmap.ScanLine[y];
  ...
 end;
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

В FCL вроде б были соответствующие классы, но в каких модулях - сейчас не вспомню.
SergKam
постоялец
Сообщения: 251
Зарегистрирован: 16.11.2005 20:31:11
Откуда: Украина,Харьков

Сообщение SergKam »

<a href='http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=viewtopic&t=320&highlight=scanline' target='_blank'>http://www.lazarus.freepascal.org/index.ph...hlight=scanline</a>
This is discudssed before, but in short:
TBitmap.Scanline is not cross platform (a win32 specific feature) so to be able to support it, we have to mimick the behaviour, which will lead to bad performance (and performance was why you wanted to use it in the first place)
As alternative you can use the far more powerfull TLazIntfImage. There you have raw access to every pixel at RGBA format.

DROник
незнакомец
Сообщения: 2
Зарегистрирован: 13.12.2005 17:50:10

Сообщение DROник »

SergKam
Спасибо.
Ответить