本模块介绍可在项目中使用的媒体,例如声音和图像。媒体分为多个子模块,指示它们在哪个平台上可用。
EV3 MicroPython 建立在 ev3dev 之上,其中包含各种图像和声音文件。您可以使用以下类访问它们。
您还可以通过将自己的声音和图像文件放在项目文件夹中来使用它们。
标准 EV3 图像的路径。
标准 EV3 声音的路径。
表示用于写入文本的字体的对象。
字体对象将是根据给定的参数和安装的可用字体“最佳”匹配的字体。
参数: |
|
默认字体。
family获取字体的系列名称。
style获取描述字体样式的字符串。
可以是“常规”或“粗体”。
width获取字体最宽字符的宽度。
height获取字体的高度。
text_width(text)使用此字体绘制文本时获取文本的宽度。
参数: | text (str) – 文本。 |
返回: | 宽度(以像素为单位)。 |
返回类型: | int |
使用此字体绘制文本时获取文本的高度。
参数: | text (str) – 文本。 |
返回: | 以像素为单位的高度。 |
返回类型: | int |
Exploring more fonts 探索更多字体
在幕后,Pybricks 使用 Fontconfig 来制作字体。Fontconfig 命令行工具可用于更详细地探索可用字体。为此,请转到 ev3dev 设备浏览器,右键单击您的 EV3 积木,然后单击打开 SSH 终端 。然后,您可以输入以下命令之一:
# List available font families.
fc-list :scalable=false family
# Perform lookup similar to Font.DEFAULT
fc-match :scalable=false:dpi=119:family=Lucida:size=12
# Perform lookup similar to Font(size=24,lang=zh-cn)
fc-match :scalable=false:dpi=119:size=24:lang=zh-cn
Pybricks 只允许使用位图字体 (scalable=false),EV3 上的屏幕每英寸有 119 像素 (dpi=119)。
你可以使用下面给出的 Image 类制作图像文件并与之交互,而不是直接在 EV3 屏幕上绘制。
表示图形图像的对象。这可以是图像的内存中副本,也可以是屏幕上显示的图像。
参数: |
|
创建一个新的空 Image 对象。
参数: |
|
返回: |
所有像素都设置为 Color.WHITE 的新图像。 |
返回类型: |
Image 图像 |
异常: |
|
有两种方法可以在图像上绘制文本。draw_text() 可以将文本精确地放置在图像上,或者 print() 可用于自动在新行上打印文本。
在此图像上绘制文本。
将使用使用 set_font() 的最新字体集或 Font.DEFAULT,如果尚未设置字体。
参数: |
|
在此图像上打印一行文本。
此方法的工作原理类似于内置的 print() 函数,但它写入此图像。
您可以使用 set_font() 设置字体。如果未设置字体, Font.DEFAULT 将被使用。文本始终使用白色背景的黑色文本打印。
与内置的 print() 不同,如果文本太宽而无法容纳此图像,则不会换行。它只是被切断了。但是,如果文本会从此图像的底部消失,则整个图像将向上滚动,并将文本打印在此图像底部的新空白区域中。
参数: |
|
设置用于在此图像上书写的字体。
该字体用于 draw_text() 和 print()。
参数: | font ( 字体 ) – 要使用的字体。 |
可以在图像上绘制另一个图像的副本。还可以考虑使用子图像来复制图像的一部分。
在此图像上绘制源图像。
参数: |
|
这些是绘制基本形状的方法,包括点、线、矩形和圆形。
在此图像上绘制单个像素。
参数: |
|
在此图像上画一条线。
参数: |
|
在此图像上绘制一个框。
参数: |
|
在此图像上画一个圆圈。
参数: |
|
获取此图像的宽度(以像素为单位)。
获取此图像的高度(以像素为单位)。
清除此图像。此图像上的所有像素将设置为 颜色.白色 。
清除此图像,然后在此图像的中心绘制源图像。
参数: | source (Image 或 str) – 源 Image。如果参数是字符串,则从文件加载源图像。 |
将此图像另存为 .png 文件。
参数: |
filename (str) – 要保存的文件的路径。 |
异常: |
|