displayio
– 用于驱动显示器的本地助手¶
该displayio
模块包含管理显示输出的类,包括与刷新率和部分更新同步。
在这些板上可用
-
displayio.
release_displays
() → None¶ 释放任何活跃使用的显示器,以便它们的总线和引脚可以再次使用。这也将在具有内置显示器的板上释放内置显示器。之后您需要自己重新初始化它。如果活动的 EPaperDisplay 正在刷新,这可能需要几秒钟才能完成。
如果您初始化显示,请在您的 code.py 中使用一次。将它放在初始化之前,以便显示器尽可能长时间处于活动状态。
-
class
displayio.
Colorspace
¶ 用于
ColorConverter
操作的色彩空间-
RGB888
:Colorspace¶ 标准的 24 位色彩空间。0-7 位为蓝色,8-15 位为绿色,16-24 位为红色。(0xRRGGBB)
-
RGB565
:Colorspace¶ 标准的 16 位色彩空间。位 0-4 为蓝色,位 5-10 为绿色,位 11-15 为红色 (0bRRRRRGGGGGGBBBBB)
-
RGB565_SWAPPED
:Colorspace¶ 交换的 16 位色彩空间。首先将数字的高低8位交换,然后将它们解释为RGB565
-
RGB555
:Colorspace¶ 标准的 15 位色彩空间。0-4 位为蓝色,5-9 位为绿色,11-14 位为红色。最高位被忽略。(0bxRRRRGGGGGBBBBB)
-
RGB555_SWAPPED
:Colorspace¶ 交换的 15 位色彩空间。首先将数字的高低8位交换,然后将它们解释为RGB555
-
-
class
displayio.
Bitmap
(width: int, height: int, value_count: int)¶ 将特定大小的值存储在二维数组中
位图可以被视为只读缓冲区。如果一个像素的位数为 8、16 或 32;并且每行的字节数是 4 的倍数,那么生成的 memoryview 将直接与位图的内容相对应。否则,位图数据将使用未指定的填充打包到内存视图中。
位图可以被视为缓冲区,允许使用例如 with 来查看和修改其内容
ulab.numpy.frombuffer
,但是displayio.Bitmap.dirty
当位图通过缓冲区接口修改时,必须使用该方法通知 displayio。bitmaptools.arrayblit
也可用于有效地将数据移动到位图。创建一个具有给定固定大小的 Bitmap 对象。每个像素存储一个值,用于索引到相应的调色板。这使不同颜色的精灵能够共享底层位图。value_count 用于最小化用于存储位图的内存。
-
width
:int¶ 位图的宽度。(只读)
-
height
:int¶ 位图的高度。(只读)
-
__getitem__
(self, index: Union[Tuple[int, int], int]) → int¶ 返回给定索引处的值。索引可以是 x,y 元组或等于
y * width + x
.这允许您:
print(bitmap[0,1])
-
__setitem__
(self, index: Union[Tuple[int, int], int], value: int) → None¶ 设置给定索引处的值。索引可以是 x,y 元组或等于
y * width + x
.这允许您:
bitmap[0,1] = 3
-
blit
(self, x: int, y: int, source_bitmap: Bitmap, *, x1: int, y1: int, x2: int, y2: int, skip_index: int) → None¶ - 插入由矩形边界定义的 source_bitmap 区域
(x1,y1) 和 (x2,y2) 到指定 (x,y) 位置的位图。
- 参数
x (int) – 位图中将放置 source_bitmap 左上角的水平像素位置
y (int) – 位图中将放置 source_bitmap 左上角的垂直像素位置
source_bitmap (bitmap) – 包含要复制的图形区域的源位图
x1 (int) – 要从源位图复制的矩形边界框的最小 x 值
y1 (int) – 要从源位图复制的矩形边界框的最小 y 值
x2 (int) – 要从源位图复制的矩形边界框的最大 x 值(不包括)
y2 (int) – 要从源位图复制的矩形边界框的最大 y 值(不包括)
skip_index (int) – 源中不会被复制的位图调色板索引,设置为 None 以复制所有像素
-
-
class
displayio.
ColorConverter
(*, colorspace: Colorspace = Colorspace.RGB888, dither: bool = False)¶ 将一种颜色格式转换为另一种颜色格式。
创建一个 ColorConverter 对象来转换颜色格式。
- 参数
颜色空间 (Colorspace) – 源颜色空间,颜色空间常量之一
抖动 (bool) – 添加随机噪声以抖动输出图像
-
displayio.
_DisplayBus
¶
-
class
displayio.
Display
(display_bus: _DisplayBus, init_sequence: _typing.ReadableBuffer, *, width: int, height: int, colstart: int = 0, rowstart: int = 0, rotation: int = 0, color_depth: int = 16, grayscale: bool = False, pixels_in_byte_share_row: bool = True, bytes_per_cell: int = 1, reverse_pixels_in_byte: bool = False, set_column_command: int = 42, set_row_command: int = 43, write_ram_command: int = 44, backlight_pin: Optional[microcontroller.Pin] = None, brightness_command: Optional[int] = None, brightness: float = 1.0, auto_brightness: bool = False, single_byte_bounds: bool = False, data_as_commands: bool = False, auto_refresh: bool = True, native_frames_per_second: int = 60, backlight_on_high: bool = True, SH1107_addressing: bool = False)¶ 管理通过显示总线更新显示
这将初始化一个显示并将其连接到 CircuitPython。与 CircuitPython 中的其他对象不同,Display 对象在
displayio.release_displays()
被调用之前一直存在。这样做是为了让 CircuitPython 可以使用显示本身。大多数人不应该直接使用这个类。请改用特定的显示驱动程序,该驱动程序至少包含初始化序列。
在给定的显示总线(
FourWire
,ParallelBus
或I2CDisplay
)上创建一个 Display 对象。该
init_sequence
是位打包的,以最大限度地减少 ram 的影响。每个命令都以命令字节开始,后跟一个字节以确定参数计数和延迟。当第二个字节的最高位为 1(0x80)时,命令参数发送后会发生延迟。其余 7 位是不包括任何延迟字节的参数计数。后面的字节是参数。设置延迟位后,参数后的单个字节指定以毫秒为单位的延迟持续时间。值 0xff 将导致额外的 500 毫秒延迟而不是 255 毫秒。下一个字节将开始一个新的命令定义。下面是一个例子:init_sequence = (b"\xe1\x0f\x00\x0E\x14\x03\x11\x07\x31\xC1\x48\x08\x0F\x0C\x31\x36\x0F" # Set Gamma b"\x11\x80\x78"# Exit Sleep then delay 0x78 (120ms) b"\x29\x81\xaa\x78"# Display on then delay 0x78 (120ms) ) display = displayio.Display(display_bus, init_sequence, width=320, height=240)
第一个命令是 0xe1,后面有 15 个 (0xf) 参数。第二个是带有 0 个参数和 120ms (0x78) 延迟的 0x11。第三个命令是 0x29,带有一个参数 0xaa 和 120 毫秒的延迟(0x78)。多个字节文字 (b"") 在加载时合并在一起。需要括号以在后续行中允许字节文字。
初始化序列应始终使显示内存访问与显示扫描保持一致,以最大限度地减少撕裂伪影。
- 参数
display_bus – 显示器连接到的总线
init_sequence (ReadableBuffer) – 字节打包的初始化序列。
width (int) – 宽度(以像素为单位)
height (int) – 以像素为单位的高度
colstart (int) – 如果第一个可见列的索引
rowstart (int) – 第一个可见行的索引
rotation (int) – 显示顺时针旋转度数。必须以 90 度为增量(0、90、180、270)
color_depth (int) – 传输的每个像素的颜色位数。(有些显示器支持 18 位,但 16 位更容易传输。最后一位是外推的。)
grayscale (bool) – 如果显示器只显示一种颜色,则为真。
pixels_in_byte_share_row (bool) – 当像素小于一个字节并且一个字节包含来自显示器同一行的像素时为真。当为 False 时,像素共享一列。
bytes_per_cell (int) – 当 color_depth < 8 时每个可寻址内存位置的字节数。当大于 1 时,字节根据 pixel_in_byte_share_row 共享行或列。
reverse_pixels_in_byte (bool) – 当 color_depth < 8 时反转每个字节内的像素顺序。即使每个单元格有多个字节 (bytes_per_cell.) 也不适用于多个字节。
reverse_bytes_in_word (bool) – 当 color_depth == 16 时反转单词中的字节顺序
set_column_command (int) – 用于设置要更新的开始和结束列的命令
set_row_command (int) – 使用的命令设置要更新的开始和结束行
write_ram_command (int) – 用于将像素值写入更新区域的命令。如果设置了 data_as_commands,则忽略。
backlight_pin (microcontroller.Pin) – 连接到显示器背光的引脚
brightness_command (int) – 设置显示亮度的命令。通常可用于 OLED 控制器。
brightness (float) – 初始显示亮度。如果 auto_brightness 为 True,则忽略此值。
auto_brightness (bool) – 如果为 True,则通过环境光传感器或其他机制控制亮度。
single_byte_bounds (bool) – 显示列和行命令使用单个字节
data_as_commands (bool) – 将所有初始化和边界数据视为 SPI 命令。某些显示器需要这样做。
auto_refresh (bool) – 自动刷新屏幕
native_frames_per_second (int) – 给定 init_sequence 每秒发生的显示刷新次数。
backlight_on_high (bool) – 如果为 True,拉高背光引脚会打开背光。
SH1107_addressing (bool) – SH1107 的特殊特性,使用上/下列集和页集
set_vertical_scroll (int) – 该参数被接受,但为了向后兼容而被忽略。它将在将来的版本中删除。
-
auto_refresh
:bool¶ 当显示自动刷新时为真。
-
brightness
:float¶ 显示的亮度为浮点数。0.0 表示关闭,1.0 表示全亮度。当
auto_brightness
为 True 时, 的值brightness
会自动改变。如果brightness
设置,auto_brightness
将被禁用并设置为 False。
-
auto_brightness
:bool¶ 当显示亮度根据环境光传感器或其他方法自动调整时为真。请注意,某些显示器可能默认将此设置为 True,但实际上并未实现自动亮度调整。
auto_brightness
如果brightness
手动设置,则设置为 False 。
-
width
:int¶ 获取板的宽度
-
height
:int¶ 获取板的高度
-
rotation
:int¶ 以度为单位的整数形式的显示旋转。
-
bus
:_DisplayBus¶ 显示器使用的总线
-
show
(self, group: Group) → None¶ 切换到显示给定的图层组。当 group 为 None 时,将显示默认的 CircuitPython 终端。
- 参数
group (Group) – 要显示的组。
-
refresh
(self, *, target_frames_per_second: Optional[int] = None, minimum_frames_per_second: int = 0) → bool¶ 当 auto_refresh 关闭时,这
target_frames_per_second
不是None
等待目标帧率然后刷新显示,返回True
. 如果自上次针对给定目标帧速率的刷新调用以来调用时间过长,则刷新会False
立即返回而不更新屏幕,希望有助于赶上进度。如果自上次成功刷新以来的时间低于最小帧速率,则会引发异常。默认值
minimum_frames_per_second
0 禁用此行为。当自动刷新处于关闭状态,并且
target_frames_per_second
是None
该会立即更新显示。当 auto_refresh 打开时,立即更新显示。(显示也将更新而不调用此。)
-
fill_row
(self, y: int, buffer: _typing.WriteableBuffer) → _typing.WriteableBuffer¶ 从单行中提取像素
- 参数
y (int) – 区域的上边缘
buffer (WriteableBuffer) – 放置像素数据的缓冲区
-
class
displayio.
EPaperDisplay
(display_bus: _DisplayBus, start_sequence: _typing.ReadableBuffer, stop_sequence: _typing.ReadableBuffer, *, width: int, height: int, ram_width: int, ram_height: int, colstart: int = 0, rowstart: int = 0, rotation: int = 0, set_column_window_command: Optional[int] = None, set_row_window_command: Optional[int] = None, set_current_column_command: Optional[int] = None, set_current_row_command: Optional[int] = None, write_black_ram_command: int, black_bits_inverted: bool = False, write_color_ram_command: Optional[int] = None, color_bits_inverted: bool = False, highlight_color: int = 0, refresh_display_command: int, refresh_time: float = 40, busy_pin: Optional[microcontroller.Pin] = None, busy_state: bool = True, seconds_per_frame: float = 180, always_toggle_chip_select: bool = False, grayscale: bool = False)¶ 管理通过显示总线更新电子纸显示
这将初始化一个电子纸显示器并将其连接到 CircuitPython。与 CircuitPython 中的其他对象不同,EPaperDisplay 对象在
displayio.release_displays()
被调用之前一直存在。这样做是为了让 CircuitPython 可以使用显示本身。大多数人不应该直接使用这个类。请改用特定的显示驱动程序,该驱动程序至少包含启动和关闭序列。
在给定的显示总线(
displayio.FourWire
或paralleldisplay.ParallelBus
)上创建一个 EPaperDisplay 对象。该
start_sequence
和stop_sequence
被bitpacked,以尽量减少冲击夯。每个命令都以命令字节开始,后跟一个字节以确定参数计数和延迟。当第二个字节的最高位为 1(0x80)时,命令参数发送后会发生延迟。其余 7 位是不包括任何延迟字节的参数计数。后面的字节是参数。设置延迟位后,参数后的单个字节指定以毫秒为单位的延迟持续时间。值 0xff 将导致额外的 500 毫秒延迟而不是 255 毫秒。下一个字节将开始一个新的命令定义。- 参数
display_bus – 显示器连接到的总线
start_sequence (ReadableBuffer) – 字节打包的初始化序列。
stop_sequence (ReadableBuffer) – 字节打包的初始化序列。
width (int) – 宽度(以像素为单位)
height (int) – 以像素为单位的高度
ram_width (int) – 以像素为单位的 RAM 宽度
ram_height (int) – 以像素为单位的 RAM 高度
colstart (int) –如果第一个可见列的索引
rowstart (int) – 第一个可见行的索引
rotation (int) – 显示顺时针旋转度数。必须以 90 度为增量(0、90、180、270)
set_column_window_command (int) – 用于设置要更新的开始和结束列的命令
set_row_window_command (int) – 使用的命令设置要更新的开始和结束行
set_current_column_command (int) – 用于设置当前列位置的命令
set_current_row_command (int) – 用于设置当前行位置的命令
write_black_ram_command (int) – 用于将像素值写入更新区域的命令
black_bits_inverted (bool) – 如果 0 位用于显示黑色像素,则为真。否则,1 表示显示黑色。
write_color_ram_command (int) – 用于将像素值写入更新区域的命令
color_bits_inverted (bool) – 如果使用 0 位来显示颜色,则为真。否则,1 表示显示颜色。
highlight_color (int) – 源颜色的 RGB888,用第三种电子纸颜色突出显示。
refresh_display_command (int) – 用于启动显示刷新的命令
refresh_time (float) – 在发送 stop_sequence 之前刷新显示所需的时间。提供busy_pin 时忽略。
busy_pin (microcontroller.Pin) –—用于表示显示器繁忙的引脚
busy_state (bool) – 显示器忙时忙引脚的状态
seconds_per_frame (float) – 屏幕刷新之间的最小秒数
always_toggle_chip_select (bool) – 当为 True 时,芯片选择每字节切换一次
grayscale (bool) – 当为真时,颜色 ram 是 2 位灰度的低位
-
time_to_refresh
:float¶ 电子纸显示可以刷新之前的时间(以秒为单位)。
-
busy
:bool¶ 显示刷新时为真。这使用
busy_pin
可用时或refresh_time
其他情况。
-
width
:int¶ 获取以像素为单位的显示宽度
-
height
:int¶ 获取以像素为单位的显示高度
-
rotation
:int¶ 以度为单位的整数形式的显示旋转。
-
bus
:_DisplayBus¶ 显示器使用的总线
-
show
(self, group: Group) → None¶ 切换到显示给定的图层组。当 group 为 None 时,将显示默认的 CircuitPython 终端。
- 参数
group (Group) – 要显示的组。
-
update_refresh_mode
(self, start_sequence: _typing.ReadableBuffer, seconds_per_frame: float = 180) → None¶ 更新
start_sequence
和seconds_per_frame
参数以启用改变显示器的刷新模式。
-
class
displayio.
FourWire
(spi_bus: busio.SPI, *, command: microcontroller.Pin, chip_select: microcontroller.Pin, reset: Optional[microcontroller.Pin] = None, baudrate: int = 24000000, polarity: int = 0, phase: int = 0)¶ 在 Python 代码运行时管理在后台通过 SPI 四线协议更新显示。它不处理显示初始化。
创建与给定引脚关联的 FourWire 对象。
SPI 总线和引脚然后由显示器使用,直到
displayio.release_displays()
即使在重新加载后也被调用。(这样做是为了 CircuitPython 可以在您的代码完成后使用显示。)因此,第一次在 code.py 中初始化显示总线时,您应该displayio.release_displays()
先调用 ,否则在第一次 code.py 运行后会出错。- 参数
spi_bus (busio.SPI) – T构成时钟和数据线的 SPI 总线
command (microcontroller.Pin) – 数据或命令引脚
chip_select (microcontroller.Pin) –芯片选择引脚
reset (microcontroller.Pin) – 重置引脚。当 None 时,只能使用软件复位
baudrate (int) – 总线上显示的最大波特率 (Hz)
polarity (int) – 时钟线的基本状态(0 或 1)
phase (int) – 捕获数据的时钟边沿。第一个 (0) 或第二个 (1)。上升或下降取决于时钟极性。
-
send
(self, command: int, data: _typing.ReadableBuffer, *, toggle_every_byte: bool = False) → None¶ 发送给定的命令值,后跟完整的数据集。
send
一旦代码完成,显示状态,例如垂直滚动,通过设置可能会或可能不会重置。
-
class
displayio.
Group
(*, scale: int = 1, x: int = 0, y: int = 0)¶ 管理一组精灵和组以及它们如何相互关联。
创建一个给定大小和比例的组。尺度是一维的。例如, scale=2 导致图层的像素在组中时为 2x2 像素。
当组及其所有图层不可见时为真。当为 False 时,如果组的图层未被隐藏,则它们是可见的。
-
scale
:int¶ 在两个方向上缩放组内的每个像素。例如,当 scale=2 时,每个像素将由 2x2 像素表示。
-
x
:int¶ 组在父级中的 X 位置。
-
y
:int¶ 组在父级中的 Y 位置。
-
append
(self, layer: Union[vectorio.Circle, vectorio.Rectangle, vectorio.Polygon, Group, TileGrid]) → None¶ 将图层附加到组。它将绘制在其他图层之上。
-
insert
(self, index: int, layer: Union[vectorio.Circle, vectorio.Rectangle, vectorio.Polygon, Group, TileGrid]) → None¶ 在组中插入一个图层。
-
index
(self, layer: Union[vectorio.Circle, vectorio.Rectangle, vectorio.Polygon, Group, TileGrid]) → int¶ 返回第一个图层副本的索引。如果未找到,则引发 ValueError。
-
pop
(self, i: int = - 1) → Union[vectorio.Circle, vectorio.Rectangle, vectorio.Polygon, Group, TileGrid]¶ 删除第 i 个项目并返回它。
-
remove
(self, layer: Union[vectorio.Circle, vectorio.Rectangle, vectorio.Polygon, Group, TileGrid]) → None¶ 删除图层的第一个副本。如果不存在则引发 ValueError。
-
__getitem__
(self, index: int) → Union[vectorio.Circle, vectorio.Rectangle, vectorio.Polygon, Group, TileGrid]¶ 返回给定索引处的值。
这允许您:
print(group[0])
-
__setitem__
(self, index: int, value: Union[vectorio.Circle, vectorio.Rectangle, vectorio.Polygon, Group, TileGrid]) → None¶ 设置给定索引处的值。
这允许您:
group[0] = sprite
-
class
displayio.
I2CDisplay
(i2c_bus: busio.I2C, *, device_address: int, reset: Optional[microcontroller.Pin] = None)¶ 在 Python 代码运行时管理在后台通过 I2C 更新显示。它不处理显示初始化。
创建与给定 I2C 总线和复位引脚关联的 I2CDisplay 对象。
I2C 总线和引脚随后由显示器使用,直到
displayio.release_displays()
重新加载后才被调用。(这样做是为了 CircuitPython 可以在您的代码完成后使用显示。)因此,第一次在 code.py 中初始化显示总线时,您应该displayio.release_displays()
先调用 ,否则在第一次 code.py 运行后会出错。- 参数
i2c_bus (busio.I2C) – 构成时钟和数据线的 I2C 总线
device_address (int) – 设备的 I2C 地址
reset (microcontroller.Pin) – 重置引脚。当 None 时,只能使用软件复位
-
send
(self, command: int, data: _typing.ReadableBuffer) → None¶ 发送给定的命令值,后跟完整的数据集。
send
一旦代码完成,显示状态,例如垂直滚动,通过设置可能会或可能不会重置。
-
class
displayio.
OnDiskBitmap
(file: Union[str, BinaryIO])¶ 直接从磁盘加载值。这最大限度地减少了内存使用,但会导致像素加载时间变慢。这些加载时间可能会导致仅部分图像可见的帧撕裂。
它最容易在带有内置显示器的板上使用,例如 Hallowing M0 Express.
import board import displayio import time import pulseio board.DISPLAY.auto_brightness = False board.DISPLAY.brightness = 0 splash = displayio.Group() board.DISPLAY.show(splash) odb = displayio.OnDiskBitmap('/sample.bmp') face = displayio.TileGrid(odb, pixel_shader=odb.pixel_shader) splash.append(face) # Wait for the image to load. board.DISPLAY.refresh(target_frames_per_second=60) # Fade up the backlight for i in range(100): board.DISPLAY.brightness = 0.01 * i time.sleep(0.05) # Wait forever while True: pass
使用给定的文件创建一个 OnDiskBitmap 对象。
- 参数
file (file) – 位图文件的名称。为了向后兼容,还可以传递以二进制模式打开的文件。
旧版本的 CircuitPython 需要一个以二进制模式打开的文件。CircuitPython 7.0 修改了 OnDiskBitmap 以便它采用文件名,并在内部打开文件。未来版本的 CircuitPython 将删除传递打开文件的功能。
-
width
:int¶ 位图的宽度。(只读)
-
height
:int¶ 位图的高度。(只读)
-
pixel_shader
:Union[ColorConverter, Palette]¶ 图像的 pixel_shader。类型取决于底层位图的结构。可以修改像素着色器(例如,设置透明像素,或者对于调色板图像,更新调色板
-
class
displayio.
Palette
(color_count: int)¶ 将像素调色板索引映射到全色。颜色在内部转换为显示器的格式以节省内存。
创建一个 Palette 对象来存储一定数量的颜色。
- 参数
color_count (int) – 调色板中的颜色数量
-
__setitem__
(self, index: int, value: Union[int, _typing.ReadableBuffer, Tuple[int, int, int]]) → None¶ 设置给定索引处的像素颜色。索引应该是 0 到 color_count-1 范围内的整数。
value 参数代表一种颜色,可以从 0x000000 到 0xFFFFFF(代表一个 RGB 值)。值可以是 int、字节(3 个字节 (RGB) 或 4 个字节(RGB + 填充字节))、字节数组或 3 个整数的元组或列表。
这允许您:
palette[0] = 0xFFFFFF # set using an integer palette[1] = b'\xff\xff\x00' # set using 3 bytes palette[2] = b'\xff\xff\x00\x00' # set using 4 bytes palette[3] = bytearray(b'\x00\x00\xFF') # set using a bytearay of 3 or 4 bytes palette[4] = (10, 20, 30) # set using a tuple of 3 integers
-
class
displayio.
Shape
(width: int, height: int, *, mirror_x: bool = False, mirror_y: bool = False)¶ 表示通过定义可以镜像的边界制成的形状。
创建具有给定固定大小的 Shape 对象。每个像素是一位,并由每行形状的列边界存储。每行的边界默认为整行。
- 参数
-
class
displayio.
TileGrid
(bitmap: Union[Bitmap, OnDiskBitmap, Shape], *, pixel_shader: Union[ColorConverter, Palette], width: int = 1, height: int = 1, tile_width: Optional[int] = None, tile_height: Optional[int] = None, default_tile: int = 0, x: int = 0, y: int = 0)¶ 源自一个位图的图块网格
定位源自位图和 pixel_shader 组合的图块网格。多个网格可以共享位图和像素着色器。
单个图块网格也称为 Sprite。
创建一个 TileGrid 对象。位图是 2d 像素的源。pixel_shader 用于将值及其位置转换为显示本机像素颜色。这可能是简单的调色板查找、渐变、图案或颜色转换器。
tile_width 和 tile_height 默认匹配位图的高度。
- 参数
bitmap (Bitmap,OnDiskBitmap,Shape) – 存储一个或多个图块的位图。
pixel_shader (ColorConverter,Palette) – 从值产生颜色的像素着色器
width (int) – 以瓷砖为单位的网格宽度。
height (int) – 以瓷砖为单位的网格高度。
tile_width (int) – 单个图块的宽度(以像素为单位)。默认为完整位图,并且必须均匀划分为位图的维度。
tile_height (int) – 单个图块的高度(以像素为单位)。默认为完整位图,并且必须均匀划分为位图的维度。
default_tile (int) – 要显示的默认图块索引。
x (int) – 父项中左边缘的初始 x 位置。
y (int) – 父级中顶部边缘的初始 y 位置。
当 TileGrid 隐藏时为真。即使是隐藏组的一部分,这也可能是 False。
-
x
:int¶ 父中左边缘的 X 位置。
-
y
:int¶ 父项中顶边的 Y 位置。
-
flip_x
:bool¶ 如果为 true,则渲染的左边缘将是最右侧图块的右边缘。
-
flip_y
:bool¶ 如果为 true,则渲染的顶部边缘将是最底部图块的底部边缘。
-
transpose_xy
:bool¶ 如果为 true,TileGrid 的轴将被交换。与镜像结合使用时,可以与相应的镜像版本一起实现任意 90 度旋转。
-
pixel_shader
:Union[ColorConverter, Palette]¶ tilegrid 的像素着色器。