AREA 021
Featuring AlphaScript

関数リスト 〜その2〜

AlphaScript に用意されている関数を解説しているページです。
ここでは、描画処理やリソースに関するものを紹介します。
システム関係や計算処理の関数についてはその1をご覧ください。

関数名の後のカッコの中は必要な引数を表しています。
同じ関数名でも、引数の数によって処理が変わるものもあります。

引数の中で、画像など数値以外を指定するとされているものは、
正確にはその識別番号を数値で指定する、という意味です。

また、戻り値について説明のない関数は常に 0 を返します。

 

★ イメージ操作関連 ★

SetGridCanvasピクセル操作対象を設定
GetPixelピクセルを取得
PutPixelピクセルを更新
ClipColor透過色を指定
RestoreColor透過色を復帰

 

★ キャンバス関連 ★

SetCanvas描画対象を設定
SetCanvasPosition描画位置を設定
SetCanvasArea描画領域を設定
SetComposeMode通常描画モード
SetXORMode反転描画モード
SetFilterModeフィルター描画モード
SetLighterModeライト描画モード
SetTrans透明度を設定
SetColor描画色を設定
SetPattern描画模様を設定
SetFontフォントを設定

 

★ 描画関連 ★

DrawLine直線を描画
DrawRect四角形の輪郭を描画
FillRect四角形の塗りつぶし描画
DrawOval円の輪郭を描画
FillOval円の塗りつぶし描画
DrawPolyline連続直線の描画
DrawPolygon多角形の輪郭の描画
FillPolygon多角形の塗りつぶし描画
DrawMask画像による図形を描画
DrawImage画像を描画
DrawString文字列を描画
GetStringW文字列の幅を取得
GetStringH文字列の高さを取得

 

★ サウンド関連 ★

PlaySoundサウンドを再生
StartMusic(未実装)音楽を再生
StopMusic(未実装)音楽を停止

 

★ リソース関連 ★

OpenText外部テキストを開く
ReadLine外部テキストの行取得
NewImage空の画像を生成
GetImage画像を読み込んで生成
CloneImage画像をコピーして生成
GetImageW画像を幅を取得
GetImageH画像の高さを取得
CheckFontNameフォント名をチェック
MakeFontフォントを生成
GetSoundサウンドを読み込んで生成
GetMusic(未実装)音楽を読み込む

 

● イメージ操作関連 ●

SetGridCanvas ( img )

GetPixel および PutPixel を行う対象のイメージを設定します。  次にこの関数が呼ばれるまで設定が継続されます。  開始時には自動的に 0番(画面)に設定されています。


GetPixel ( x, y, R, G, B )

SetGridCanvas で指定されたイメージの座標 x, y のピクセルを取得し、 R, G, B に指定された変数にそれぞれ赤、緑、青の輝度を格納します。  画像の範囲を超える座標を指定した場合は何もせず、範囲が適正なら 1 を返します。


PutPixel ( x, y, R, G, B )

SetGridCanvas で指定されたイメージの座標 x, y のピクセルを、 R, G, B で指定された色に書き換えます。  画像の範囲を超える座標を指定した場合は何もせず、範囲が適正なら 1 を返します。


ClipColor ( img, R, G, B )

img で指定されたイメージの中で、 R, G, B で指定された色のピクセルを透過にします。  透過になったピクセルは、色が上書きされることも描画の色として使われることもありません。  指定する色の輝度は、値の直接指定では一致する色と判断されないことがあるので、 求める色を含むイメージから GetPixel でピクセルを取得し、その値を使用してください。


RestoreColor ( img, R, G, B )

img で指定されたイメージの中で、 R, G, B で指定された色のピクセルを不透過にします。  透過になったピクセルも色の情報は失いませんので、この関数で復帰可能です。

 

● キャンバス関連 ●

SetCanvas ( img )

img で指定されたイメージを描画対象に設定します。  次にこの関数が呼ばれるまで設定が継続されます。  開始時には自動的に 0番(画面)に設定されています。


SetCanvasPosition ( x , y )

図形などを描画するときの座標を x,y の分だけ自動的にずらすように設定します。  SetCanvas を実行した直後は 0,0 になっています。


SetCanvasPosition ( )

図形などを描画するときの座標を 0,0 に戻します。


SetCanvasArea ( x , y , w , h )

図形などを描画するときの範囲を、左上を基準とした四角形 x,y,w,h の内側に設定します。  SetCanvas を実行した直後はイメージ全体になっています。  四角形の領域がイメージの領域をオーバーしていた場合、自動的に修正されます。


SetCanvasArea ( )

図形などを描画するときの範囲をイメージ全体に戻します。


SetComposeMode ( )

描画モードを最も高速で基本的な「通常モード」に設定します。  透明度を下げると半透明になって描画されます。  何も設定していないときは、このモードになっています。


SetXORMode ( )

描画モードを「ビット反転モード」に設定します。  描画する色によってさまざまに変色し、同じ色でもう1度描画すると元の色に戻ります。  白で描画すれば、全ての色が反転した状態を得られます。


SetFilterMode ( )

描画モードを「フィルターモード」に設定します。  描画色のフィルターがかかったようになります。(わかりやすく言うと、描画色を白にすれば白黒の画像を作れます)


SetLighterMode ( )

描画モードを「照明モード」に設定します。  描画色の輝度を各ピクセルの輝度に加算し、色合いを変えられます。


SetTrans ( alpha )

描画の透明度を alpha (0.0〜1.0)に設定します。  これにより、半透明描画を実現できます。  イメージの透明度を徐々に変えながら描画する、といったことも可能です。


SetColor ( R, G, B )

図形の描画色の各輝度を R,G,B (それぞれ 0.0〜1.0 の範囲)に設定します。  次にこの関数が呼ばれるまで設定が継続されます。  なお、色の輝度は内部的には整数として扱われるため、 0.001 のような小さすぎる値の違いは無視される場合があります。


SetPattern ( img , x , y )

図形の描画色を img で指定されたイメージによる模様に設定します。  x,y には模様をずらす座標を指定します。  たとえば、 100,100 とすれば、描画対象の左上から 100,100 の位置にイメージの左上がくるようになります。


SetFont ( font )

文字列を描画する際のフォントを font に設定します。  次にこの関数が呼ばれるまで設定が継続されます。  これが設定されていなければ、フォントを利用した関数は機能しません。  開始時には、フォントは無効に設定されています。

 

● 描画関連 ●

描画サイズや多角形の頂点数などは、常識の範囲でお願いします(^^;;


DrawLine ( x1 , y1 , x2, y2 )

現在設定されている描画対象のイメージに、設定されている色または模様で幅 1 ピクセルの線分を描画します。  x1,y1 に始点の座標、 x2,y2 に終点の座標を指定します。


DrawRect ( x , y , w , h )
FillRect ( x , y , w , h )

現在設定されている描画対象のイメージに、設定されている色または模様で四角形を描画します。  DrawRect は四角形の輪郭、FillRect は塗りつぶした四角で、x,y に左上の座標、w,h に幅・高さを指定します。


DrawOval ( x , y , w , h )
FillOval ( x , y , w , h )

現在設定されている描画対象のイメージに、設定されている色または模様で円を描画します。  DrawOval は円の輪郭、FillOval は塗りつぶした円で、x,y に中心の座標、w,h に幅・高さ(ともに半径)を指定します。


DrawPolyline ( x , y , aryX , aryY )
DrawPolygon ( x , y , aryX , aryY )
FillPolygon ( x , y , aryX , aryY )

現在設定されている描画対象のイメージに、設定されている色または模様で、 DrawPolyline は連続直線、 DrawPolygon は多角形、 FillPolygon は塗りつぶした多角形を描画します。  x,y に座標、aryX,aryY には各頂点の相対座標を格納した配列を指定します。  頂点の数は aryX,aryY で指定された要素数のうち、少ないほうになります。  Polyline には最低2つ、Polygon には最低3つの頂点が必要です。


DrawMask ( img , x , y )
DrawImage ( img , x , y )

現在設定されている描画対象のイメージに、 DrawMask は設定されている色または模様を使い img のイメージの不透明な部分による形状で描画、 DrawImage は img のイメージをそのまま描画します。 x,y に左上の座標を指定します。


DrawString ( str , x , y )

現在設定されている描画対象のイメージに現在設定されているフォントで str の文字列を x,y の座標に描画します。  基準点は文字列の左上なので、中央に描画したいときなどは、 GetStringW, GetStringH 関数でサイズを取得するか、 基準点を指定する DrawString を使用してください。  描画色は、設定されている色または模様が適用されます。


DrawString ( str , x , y, px, py )

現在設定されている描画対象のイメージに現在設定されているフォントで str の文字列を x,y の座標に描画します。  px,py は描画位置の基準点を決めるためのもので、それぞれ -1.0 〜 1.0 の範囲で指定します。  たとえば、 0,0 と指定すると文字列の中央が、 1,-1 と指定すると文字列の左下の点が x,y の位置になります。  0.5 のような位置も指定できますが、あまり使う機会はないかもしれません。  描画色は、設定されている色または模様が適用されます。


GetStringW ( str )
GetStringH ( str )

現在設定されている描画フォントにおける文字列の幅・高さをピクセル単位で返します。  高さに関しては、横書きなので文字列を指定する必要は本来ありませんが、関数の整合性を保つため、一応用意しています。

 

● サウンド関連 ●

PlaySound ( snd )

snd で指定したサウンドを再生します。  再生している途中だった場合、それを停止してはじめから再生します。(短い音であれば、ほとんど関係ありません)


StartMusic ( msc )

msc で指定した音楽を再生するための関数ですが、実装されていません。(つまり、形式的に用意されてるだけです^^;)


StopMusic ( msc )

msc で指定した音楽を停止するための関数ですが、実装されていません。

 

● リソース関連 ●

これらの関数で生成できるリソースには制限があります。
それぞれの最大数を以下に示します。

イメージ: 1000
フォント: 100
サウンド: 100


NewImage ( w , h )

幅・高さが w,h のイメージを生成し、そのイメージの識別番号を返します。  生成されたイメージの全ピクセルは全て不透明・黒になっています。  サイズは、幅・高さそれぞれ 1024ピクセル までです。  サイズ指定が不正な場合など、生成に失敗すると -1 を返します。


GetImage ( URL )

URL で指定した GIF または JPEG 画像を読み込み、そのイメージの識別番号を返します。  URL は実行する HTMLファイルのある場所を基準とし、 ”フォルダ名/” を付ければフォルダの中のファイルも読み込めます。  セキュリティの都合上、実行した場所より上の階層にアクセスすることはできません。  サイズは、幅・高さそれぞれ 1024ピクセル までです。  生成またはファイルの読み込みに失敗すると -1 を返します。  ファイルの読み込みが完了するまで待つため、この関数の実行には時間が掛かる場合があります。


CloneImage ( img )

img で指定したイメージをコピーし、そのイメージの識別番号を返します。  生成またはコピーに失敗すると -1 を返します。


CloneImage ( img, wRate, hRate, repXY )

img で指定したイメージを変更してコピーし、そのイメージの識別番号を返します。  wRate, hRate はそれぞれ幅・高さの倍率を整数で指定します。  縮小はできませんが、マイナス値を指定すれば反転した画像を得られます。  repXY を真にすると、X と Y を入れ替えた画像になるので、 反転と組み合わせて「90度単位の回転」を実現できます。  変形後のサイズは、幅・高さそれぞれ 1024ピクセル までです。  生成またはコピーに失敗すると -1 を返します。


GetImageW ( img )
GetImageH ( img )

img で指定したイメージの幅・高さを返します。  イメージが無効な場合、 0 を返します。  img に 0 を指定すれば、画面サイズを取得できます。 (画面サイズが埋め込みパラメータで指定されていない場合、取得できるサイズは起動時のブラウザの拡大率に依存します)


CheckFontName ( fontName )

fontName で指定した名前のフォントが存在すれば 1 、そうでなければ 0 を返します。  実行する環境によって、使用できるフォントが違うかもしれません。


MakeFont ( fontName, bold, italic, height )
MakeFont ( fontName , bold, italic, height, charList )

書体が fontName 、文字の高さが height(300 ピクセルまで) 、bold が 0 以外なら太字、italic が 0 以外なら斜体のフォントを生成し、そのフォントの識別番号を返します。  フォントは文字列を描画する際に必要です。 生成に失敗すると -1 を返します。

生成されたフォントで描画できるのは、文字列 charList に含まれる文字のみです。  文字数が多いほど、フォントによって消費されるメモリの量も大きくなります。  charList には、同じ文字が複数含まれていても問題ありません。(2回目以降の文字は無視されます)  charListを指定しなかった場合は、アルファベットや数字と一部の記号など、基本的な半角文字のみ描画できます。

fontName は TimesRoman 、Courier などのフォント名の文字列を指定しますが、 存在しないフォント名が指定された場合、書体はデフォルトのものが適用されます。  とりあえずデフォルトで良い場合は、空の文字列にしてください。


GetSound ( URL )

URL で指定した au形式 のサウンドファイルを読み込み、そのサウンドの識別番号を返します。  URL は実行する HTMLファイルのある場所を基準とし、 ”フォルダ名/” を付ければフォルダの中のファイルも読み込めます。  セキュリティの都合上、実行した場所より上の階層にアクセスすることはできません。  生成に失敗すると -1 を返します。(ただし、今のところ音声ファイルの読み込み失敗は検知できないようです...)


GetMusic ( URL )

URL で指定した音楽を取得するための関数ですが、今のところ実装されていません(笑)

 

ページ一覧に戻る

Copyright (c) Rabit 2005-2012 all rights reserved.