图片¶
该 Image类用于创建可以容易地在设备的LED矩阵显示图像。给定一个图像对象,可以通过display API显示它:
display.show(Image.HAPPY)
有四种方法可以构建图像:
Image()-创建一个空白的 5x5 图像Image(string)- 通过解析字符串创建图像,单个字符返回该字形Image(width, height)- 创建给定大小的空白图像Image(width, height, buffer)- 从给定的缓冲区创建一个图像
班级¶
-
class
microbit.Image(string)¶ -
class
microbit.Image(width=None, height=None, buffer=None) 如果
string使用,它必须由排列成行的数字 0-9 组成,描述图像,例如:image = Image("90009:" "09090:" "00900:" "09090:" "90009")
将创建一个 X 的 5×5 图像。行的末尾用冒号表示。也可以使用换行符 (n) 来指示一行的结尾,如下所示:
image = Image("90009\n" "09090\n" "00900\n" "09090\n" "90009")
另一种形式创建一个带有
width列和height行的空图像。任选地buffer可以是阵列width``×``height的整数范围中的0-9初始化图像:Image(2, 2, b'\x08\x08\x08\x08')
或者:
Image(2, 2, bytearray([9,9,9,9]))
将创建一个 2 x 2 像素的全亮度图像。
笔记
关键字参数不能传递给
buffer.-
width()¶ 返回图像中的列数。
-
height()¶ 返回图像中的行数。
-
set_pixel(x, y, value)¶ 设置像素的栏的亮度
x和行y的value,它具有为0(暗)和图9(亮)之间。当调用任何内置只读图像时,此方法将引发异常,例如
Image.HEART.
-
get_pixel(x, y)¶ 以0 到 9 之间的整数形式返回列
x和行像素的亮度y。
-
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)¶ 通过将图片裁剪为宽度
w和高度h,从列x和行的像素开始返回一个新图像y。
-
copy()¶ 返回图像的精确副本。
-
invert()¶ 通过反转源图像中像素的亮度来返回新图像。
-
fill(value)¶ -
将图像中所有像素的亮度设置为
value,其必须介于 0(暗)和 9(亮)之间。当调用任何内置只读图像时,此方法将引发异常,例如
Image.HEART
-
blit(src, x, y, w, h, xdest=0, ydest=0)¶ 所限定的矩形复制
x,y,w,h从图像src到在这个图像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
通过为每个像素添加来自两个图像的亮度值来创建一个新图像。
image * n
通过将每个像素的亮度乘以 来创建一个新图像n。