0

単一のビットイメージを Pascal プログラムにロードする必要があります。それを行う方法はありますか、それともピクセルごとに描画する必要がありますか?

4

2 に答える 2

1

私が覚えている限りでは、Turbo Pascal には関数がありました。

GetImage(X1, Y1, X2, Y2: integer; var BitMap)
PutImage(X, Y: integer; var BitMap; BitBlt: word);

BitMap は、ビットマップを含む単なるメモリの塊です。このようにして、画面からメモリへ、またはその逆に画像を取得できます。ファイルから画面に画像を取得する直接的な機能はないと思います。しかし、ディスク上に適切な形式のイメージがある場合は、それをメモリにロードしてから PutImage を使用できます。

于 2015-03-27T21:58:42.637 に答える
0

グラフ ユニットを使用すると、Turbo Pascal で BGI グラフィックスを読み込むことができます。

詳細については、これを参照してください...

http://pascal-programming.info/lesson8.php

上記のリンクのサンプルコードは次のとおりです...

Program Lesson8_Program1;
Uses Crt,Graph;
Var GraphicsDriver, GraphicsMode,
    ErrCode : Integer; 
  {two var's are needed for initialisation}
Begin
 Writeln('Initialising Graphics, please wait...');
 GraphicsDriver := Detect;
 InitGraph(GraphicsDriver, GraphicsMode,'');
 {IMPORTANT, read the following or 
  otherwise graphics will not work!! ;)}
 (*between the inverted commas,
   type in the path of the graphics BGI file
  (usually 'C:\TP\BGI'),
   OR
   change the dir in the file menu (PRESS Alt+F) 
   and roll down your mouse pointer to the 'change dir' 
   menu; then either type the path to the BGI file, 
   or go to C: -> TP -> BGI*)
 ErrCode := GraphResult;
 If GraphResult <> grOK then { <> means 'not equal to' }
  Begin
   ClrScr;
   Writeln('Graphics error occured: ',
            GraphErrorMsg(ErrCode));
   Writeln('If a file not found error is displayed above');
   Writeln('then, change the dir from the current');
   Writeln('location to C:\ -> TP -> BGI, '+
          +'from the file menu!');
   Readln;
   Halt(1);
  End Else
  Begin
   Randomize; 
   SetColor(Random(15) + 1); {Set text colour}
   {Output text at 20 pixels from the top of the screen, 
    and 20 other from the left side of the screen.}
   OutTextXY(20,20,'Welcome to the new generation 
                    of Pascal Programming:');
   OutTextXY(20,30,'Pascal Graphics!!');
   OutTextXY(25,70,'You will learn more 
                    graphics procedures and');
   OutTextXY(25,80,'functions, later in this lesson :-)');
   Readln;
  End; 
 CloseGraph;
End.

詳細については、これを参照してください...

http://pascal-programming.info/lesson8.php

于 2014-10-29T04:35:26.293 に答える