イメージ¶
Image クラスはデバイス LED マトリクスに容易に表示できるイメージを作成するために使います。予め組み込まれているイメージオブジェクトを display API で表示することもできます:
display.show(Image.HAPPY)
クラス¶
-
class
microbit.Image(string)¶ -
class
microbit.Image(width=None, height=None, buffer=None) stringを指定した場合、引数の文字列はイメージを記述した 0-9 の数字を複数行に配置したものになります。たとえば次のものは X を 5x5 のイメージを作成します:image = Image("90009:" "09090:" "00900:" "09090:" "90009")
行の終わりはコロンで示します。行の終わりには次のように改行文字( )を使うこともできます:
image = Image("90009\n" "09090\n" "00900\n" "09090\n" "90009")
もう1つの指定方法では
width列とheight行の空イメージを作成します。オプションのbufferは、イメージを初期化するためのもので、0-9 の整数値をwidth``×``height個並べた配列を指定します。-
width()¶ イメージの列数を返します。
-
height()¶ イメージの行数を返します。
-
set_pixel(x, y, value)¶ x列y行のピクセルの明るさをvalueに設定します。明るさは 0 (暗い) から 9 (明るい)までの整数値で指定します。このメソッドは、
Image.HEARTのような組込みの読取り専用イメージに対して呼び出すと例外を起こします。
-
get_pixel(x, y)¶ x列y行のピクセルの明るさを 0-9 の整数値で返します。
-
shift_left(n)¶ n列だけ左にシフトした新しいイメージを返します。
-
shift_right(n)¶ image.shift_left(-n)と同じです。
-
shift_up(n)¶ n行だけ上にシフトした新しいイメージを返します。
-
shift_down(n)¶ image.shift_up(-n)と同じです。
-
crop(x, y, w, h)¶ x列y行のピクセルから始まってw幅h高さ分をトリミングした新しいイメージを返します。
-
copy()¶ イメージ全体のコピーを返します。
-
invert()¶ 元のイメージの明るさを反転した新しいイメージ返します。
-
fill(value)¶ イメージのピクセルの明るさを
valueに設定します。valueの値は 0 (暗い) から 9 (明るい)までの整数値です。このメソッドは、
Image.HEARTのような組込みの読取り専用イメージに対して呼び出すと例外を起こします。
-
blit(src, x, y, w, h, xdest=0, ydest=0)¶ イメージ
srcからx,y,w,hで指定する矩形領域を、このイメージのxdest,ydestにコピーします。矩形領域ではあるが元のイメージの外側にあるピクセルは値が 0 であるとして扱います。shift_left(),shift_right(),shift_up(),shift_down(),crop()はすべてblit()を用いて実現しています。たとえば img.crop(x, y, w, h) は以下で実現しています。def crop(self, x, y, w, h): res = Image(w, h) res.blit(self, x, y, w, h) return res
-
属性¶
Image クラスには、属性として以下の組込みインスタンスを持っています(属性名はイメージが何であるかを示しています):
Image.HEARTImage.HEART_SMALLImage.HAPPYImage.SMILEImage.SADImage.CONFUSEDImage.ANGRYImage.ASLEEPImage.SURPRISEDImage.SILLYImage.FABULOUSImage.MEHImage.YESImage.NOImage.CLOCK12,Image.CLOCK11,Image.CLOCK10,Image.CLOCK9,Image.CLOCK8,Image.CLOCK7,Image.CLOCK6,Image.CLOCK5,Image.CLOCK4,Image.CLOCK3,Image.CLOCK2,Image.CLOCK1Image.ARROW_N,Image.ARROW_NE,Image.ARROW_E,Image.ARROW_SE,Image.ARROW_S,Image.ARROW_SW,Image.ARROW_W,Image.ARROW_NWImage.TRIANGLEImage.TRIANGLE_LEFTImage.CHESSBOARDImage.DIAMONDImage.DIAMOND_SMALLImage.SQUAREImage.SQUARE_SMALLImage.RABBITImage.COWImage.MUSIC_CROTCHETImage.MUSIC_QUAVERImage.MUSIC_QUAVERSImage.PITCHFORKImage.XMASImage.PACMANImage.TARGETImage.TSHIRTImage.ROLLERSKATEImage.DUCKImage.HOUSEImage.TORTOISEImage.BUTTERFLYImage.STICKFIGUREImage.GHOSTImage.SWORDImage.GIRAFFEImage.SKULLImage.UMBRELLAImage.SNAKE
関連するイメージのコレクションもあります。
* ``Image.ALL_CLOCKS``
* ``Image.ALL_ARROWS``
演算子¶
repr(image)
イメージのコンパクトな文字列表現を得ます。
str(image)
イメージの可読可能な文字列表現を得ます。
image1 + image2
2つのイメージの各ピクセルの明るさを足した新しいイメージを作成します。
image * n
各ピクセルの明るさを n 倍した新しい画像を作成します。