イメージ¶
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.HEART
Image.HEART_SMALL
Image.HAPPY
Image.SMILE
Image.SAD
Image.CONFUSED
Image.ANGRY
Image.ASLEEP
Image.SURPRISED
Image.SILLY
Image.FABULOUS
Image.MEH
Image.YES
Image.NO
Image.CLOCK12
,Image.CLOCK11
,Image.CLOCK10
,Image.CLOCK9
,Image.CLOCK8
,Image.CLOCK7
,Image.CLOCK6
,Image.CLOCK5
,Image.CLOCK4
,Image.CLOCK3
,Image.CLOCK2
,Image.CLOCK1
Image.ARROW_N
,Image.ARROW_NE
,Image.ARROW_E
,Image.ARROW_SE
,Image.ARROW_S
,Image.ARROW_SW
,Image.ARROW_W
,Image.ARROW_NW
Image.TRIANGLE
Image.TRIANGLE_LEFT
Image.CHESSBOARD
Image.DIAMOND
Image.DIAMOND_SMALL
Image.SQUARE
Image.SQUARE_SMALL
Image.RABBIT
Image.COW
Image.MUSIC_CROTCHET
Image.MUSIC_QUAVER
Image.MUSIC_QUAVERS
Image.PITCHFORK
Image.XMAS
Image.PACMAN
Image.TARGET
Image.TSHIRT
Image.ROLLERSKATE
Image.DUCK
Image.HOUSE
Image.TORTOISE
Image.BUTTERFLY
Image.STICKFIGURE
Image.GHOST
Image.SWORD
Image.GIRAFFE
Image.SKULL
Image.UMBRELLA
Image.SNAKE
関連するイメージのコレクションもあります。
* ``Image.ALL_CLOCKS``
* ``Image.ALL_ARROWS``
演算子¶
repr(image)
イメージのコンパクトな文字列表現を得ます。
str(image)
イメージの可読可能な文字列表現を得ます。
image1 + image2
2つのイメージの各ピクセルの明るさを足した新しいイメージを作成します。
image * n
各ピクセルの明るさを n
倍した新しい画像を作成します。