2018年03月22日

LGP講座(かり~第7回 拡大・縮小させてみよう!

yuu_bustup.jpg
優:こ、こんにちわ……柊優です……
 今回も、LGP講座!(かり、よろしくね……

haruka_bustup.jpg
陽香:永乃原陽香です。今回もよろしくお願いします。

airi_bustup.jpg
愛梨:結城愛梨です。よろしくお願いしまーすっ。
 ねぇねぇ、優ちゃん。今日は何するの?

yuu_bustup.jpg
うん……今回は、画像の拡大・縮小について勉強していくよ……。
よろしくね……。

airi_bustup.jpg
拡大・縮小かー。それは楽しみだなぁ

haruka_bustup.jpg
それでは、今回もよろしくお願いしますね。

~実は……
yuu_bustup.jpg
さて、その拡大縮小なんだけど、実は知らず知らずのうちにやっていたんだよ・・・

airi_bustup.jpg
えぇっ!? ほんとなの!?

haruka_bustup.jpg
はい。画像を表示させるときに、G@CHRCOPYでコピーしましたよね?
コピーすると、それを自動的にウィンドウの大きさに拡大して表示するという仕様になっていたので、わたしたちが意識していなくても、拡大縮小をおこなっていた、というわけですよ。

airi_bustup.jpg
そうなんだー。でも、そしたらそのままの大きさで表示したり、好きな大きさに拡大縮小したりするときには困るなぁ。

yuu_bustup.jpg
その方法はちゃんとLGPに用意してあるよ……。
それが、G@CHRRECT命令なんだ……。

airi_bustup.jpg
きゃられくと?

haruka_bustup.jpg
ものは試し。さっそく使ってみましょう。
下のプログラムを打ち込んで、実行してみてくださいね。

-----
CH = G@SETUP( 640 , 480 , 16 , 1 ) //画面初期化
BM = G@CHRLOAD( "AIRI.BMP" ) //画像読み込み
G@CHRRECT( CH , 100 , 100 , 300 , 300 ) //コピー先の矩形範囲を指定
G@CHRCOPY( BM , CH ) //画像を画面にコピー
G@FLIP( ) //フリップ
LOOP
S@WAIT( ) //システムウェイト
ENDLOOP
-----

airi_bustup.jpg
はーい。かたかたかた……実行してみるよっ

lg-1803-01.JPG
▲ 実行結果
(クリックすると、元の大きさで表示されます)

airi_bustup.jpg
あたしの絵が画面に表示されたよっ。
しかも、画面ぴったりじゃなくて、さらに拡大されてるっ。

yuu_bustup.jpg
それじゃ今度は、G@CHRRECT命令の、後ろの二つの数字、300,300の部分を、150,150に変えて実行してみて……

airi_bustup.jpg
はーい。かたかたかた……

lg-1803-02.JPG
▲ 今度は縮小して表示
(画像をクリックすると、元の大きさで表示されます)

airi_bustup.jpg
今度は縮小されて表示されたよっ。すごいなぁ。

haruka_bustup.jpg
さて、それではこの命令を見ていきましょうか。
このG@CHRRECT命令は、このようにして使われます。

-----
G@CHRRECT(指定先, X座標1, Y座標1, X座標2, Y座標2)
-----

yuu_bustup.jpg
指定先というのは、コピーされる範囲、コピーする範囲を指定するもののことだよ。
これには、サーフェスの番号が入る……。
今試してみたのでもわかる通り、キャラクターも含むからね・・・

airi_bustup.jpg
なるほどー。 だから、CHを使っていたのかー

haruka_bustup.jpg
そして、実際にコピーされる範囲、コピーする範囲を指定するのが、そのあとの四つの数字です。(X座標1, Y座標1)から(X座標2, Y座標2)までの直線を対角線とする四角形の範囲がコピーされたり、コピーしたりするんです。

airi_bustup.jpg
あれ? それじゃ、コピー元とコピー先両方に、G@CHRRECT命令を使った場合はどうなるの?

yuu_bustup.jpg
それはとっても簡単……。コピー元のサーフェスの、コピー元のG@CHRRECT命令で指定された範囲が、コピー先のサーフェスの、それのG@CHRRECT命令で指定された範囲に拡大・縮小されてコピーされるんだ……

airi_bustup.jpg
なるほど、そうなのかー……

yuu_bustup.jpg
これを色々と使うと、面白いことができるよ。試してみてね……

airi_bustup.jpg
はーい。

yuu_bustup.jpg
それと、拡大縮小なしでコピーしたい場合は、G@CHRCOPYF命令を使うといいよ……。基本的な使い方は、G@CHRCOPY命令と同じだからね……。

airi_bustup.jpg
うん、わかったよー

yuu_bustup.jpg
それじゃ、今回はここまで……。
次回は、抜き色の指定について説明していくよ……。よろしくね……。

haruka_bustup.jpg
では、また次回お会いしましょう。 ごきげんよう

airi_bustup.jpg
またね~

※次の更新は、3月26日、PCメディア情報の予定です。お楽しみに!
posted by 裏編 at 09:13| LGP講座(かり | 更新情報をチェックする