Next: , Previous: Functions and Variables for draw, Up: draw   [Contents][Index]

48.3 Functions and Variables for pictures

関数: get_pixel (pic,x,y)

ピクチャからピクセルを返します。 座標xyは 0からそれぞれwidth-1height-1までの範囲を取ります。

関数: make_level_picture (data)
関数: make_level_picture (data,width,height)

レベルpictureオブジェクトを返します。 make_level_picture (data)は 行列dataから pictureオブジェクトを作ります。 make_level_picture (data,width,height)は 数のリストからオブジェクトを作ります; この場合、widthheight両方を与えなければいけません。

返されたpictureオブジェクトは以下の4つの部分を含みます:

  1. シンボル level
  2. イメージの幅
  3. イメージの高さ
  4. 0から255までの範囲のピクセルデータを持つ整数配列 引数dataは0から255までの数のみを含まなければいけません; 負の数は0に置き換えられ、255よりも大きな数は255に設定されます。

例:

行列からのレベルピクチャ。

(%i1) load("draw")$
(%i2) make_level_picture(matrix([3,2,5],[7,-9,3000]));
(%o2)         picture(level, 3, 2, {Array:  #(3 2 5 7 0 255)})

数値リストからのレベルピクチャ

(%i1) load("draw")$
(%i2) make_level_picture([-2,0,54,%pi],2,2);
(%o2)            picture(level, 2, 2, {Array:  #(0 0 54 3)})
関数: make_rgb_picture (redlevel,greenlevel,bluelevel)

rgb色付けされたpictureオブジェクトを返します。 3つ引数すべては赤、緑、青のレベルを持つレベルピクチャでなければいけません;

返されたpictureオブジェクトは以下の4つの部分を含みます:

  1. シンボル rgb
  2. イメージの幅
  3. イメージの高さ
  4. 0から255までの範囲のピクセルデータを持つ長さ3*width*heightの整数配列。 それぞれのピクセルは。3つの連続する数 (赤、緑、青)で表現されます。

例:

(%i1) load("draw")$
(%i2) red: make_level_picture(matrix([3,2],[7,260]));
(%o2)           picture(level, 2, 2, {Array:  #(3 2 7 255)})
(%i3) green: make_level_picture(matrix([54,23],[73,-9]));
(%o3)           picture(level, 2, 2, {Array:  #(54 23 73 0)})
(%i4) blue: make_level_picture(matrix([123,82],[45,32.5698]));
(%o4)          picture(level, 2, 2, {Array:  #(123 82 45 33)})
(%i5) make_rgb_picture(red,green,blue);
(%o5) picture(rgb, 2, 2, 
              {Array:  #(3 54 123 2 23 82 7 73 45 255 0 33)})
関数: negative_picture (pic)

(levelまたはrgb)ピクチャの反転を返します。

関数: picture_equalp (x,y)

等しいピクチャの場合trueを、そうでなければfalse を返します。

関数: picturep (x)

もし引数が適正なイメージなら trueを、そうでなければfalseを返します。

関数: read_xpm (xpm_file)

xpm形式のファイルを読み、ピクチャオブジェクトを返します。

関数: rgb2level (pic)

rgbピクチャを 赤、緑、青チャンネルを平均することでlevelの1つに変換します。

関数: take_channel (im,color)

もし引数colorred, greenまたはblueなら、 関数take_channelは ピクチャimの対応する色チャンネルを返します。 例:

(%i1) load("draw")$
(%i2) red: make_level_picture(matrix([3,2],[7,260]));
(%o2)           picture(level, 2, 2, {Array:  #(3 2 7 255)})
(%i3) green: make_level_picture(matrix([54,23],[73,-9]));
(%o3)           picture(level, 2, 2, {Array:  #(54 23 73 0)})
(%i4) blue: make_level_picture(matrix([123,82],[45,32.5698]));
(%o4)          picture(level, 2, 2, {Array:  #(123 82 45 33)})
(%i5) make_rgb_picture(red,green,blue);
(%o5) picture(rgb, 2, 2, 
              {Array:  #(3 54 123 2 23 82 7 73 45 255 0 33)})
(%i6) take_channel(%,'green);  /* simple quote!!! */
(%o6)           picture(level, 2, 2, {Array:  #(54 23 73 0)})

Next: , Previous: Functions and Variables for draw, Up: draw   [Contents][Index]