adm-fil писал(а):Если нет кода по выводу bmp-файла на экран,
Код вывода картинки на экран сильно зависит от способа, которым задействуешь видеорежим. Их может быть множество, а у тебя используется какой-то определённый, древний.
adm-fil писал(а): то нужен хотя-бы код читающий его в оперативную память.
А вот это запросто! В fpc есть файл fpcbuild-2.6.4/fpcsrc/packages/fcl-image/examples/interpoldemo.pp
Меняется несколько строчек и вот он уже читает и масштабирует файл original.bmp сделанный только что в гимпе.
- Код: Выделить всё
program interpoldemo;
uses
Classes,
sysutils,
FPimage,
FPImgCanv,
FPReadBMP, FPWriteBMP;
var
ImOriginal: TFPMemoryImage;
ImScaled: TFPMemoryImage;
CanvScaled: TFPImageCanvas;
Reader: TFPReaderBMP;
Writer: TFPWriterBMP;
begin
ImOriginal := TFPMemoryImage.Create(0, 0);
ImScaled := TFPMemoryImage.Create(64, 64);
Reader := TFPReaderBMP.create;
Writer := TFPWriterBMP.create;
ImOriginal.LoadFromFile('original.bmp', Reader);
CanvScaled := TFPImageCanvas.create(ImScaled);
CanvScaled.StretchDraw(0,0,63,63, ImOriginal);
ImScaled.SaveToFile('scaled.bmp', Writer);
Reader.Free;
Writer.Free;
ImOriginal.Free;
ImScaled.Free;
end.
Но если модулям всё равно, читать bmp или png, то лучше использовать png, потому что он со сжатием, имеет альфаканал и больше в почёте и больше где применяется.