class RGBDisplay – RGB 显示驱动程序¶
RGBDisplay 类用于驱动24位并行lcd。
驱动800×480 24位并行LCD的示例用法:
import sensor, display
# Setup camera.
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.LCD)
sensor.skip_frames()
lcd = display.RGBDisplay()
# Show image.
while(True):
lcd.write(sensor.snapshot())
构造¶
- class display.RGBDisplay(framesize=FWVGA, refresh=60, display_on=True, portrait=False, controller, backlight)¶
framesize支持的标准分辨率之一。refresh以赫兹为单位设置屏幕刷新率。这控制 RGB LCD 时钟。display_on启用显示器。当24位并行LCD输出由多个设备(如驱动HDMI显示器的TFP410芯片)共享时,此处传递False以在驱动数据总线静止时保持显示关闭。portrait交换帧大小的宽度和高度。controller在此处传递控制器芯片类以与显示器一起初始化。backlight指定要使用的背光控制器模块。默认情况下,背光将通过 GPIO 引脚控制。
方法¶
- RGBDisplay.write(image: image.Image, x=0, y=0, x_scale=1.0, y_scale=1.0, roi=None, rgb_channel=-1, alpha=256, color_palette=None, alpha_palette=None, hint=0) None¶
显示一个左上角从位置x,y开始的
image。您也可以传递路径而不是图像对象给此方法,一边从磁盘加载图像并在一步中绘制它。例如
write("test.jpg")。x_scale控制图像在 x 方向的显示比例(float)。如果此值为负,则图像将水平翻转。注意,如果未指定y_scale,则它将与x_scale匹配,以保持纵横比。y_scale控制图像在 y 方向的显示比例(float)。如果此值为负,则图像将垂直翻转。注意,如果未指定x_scale,则它将与x_scale匹配,以保持纵横比。roi是要显示的图像的感兴趣区域矩形元组(x、y、w、h)。这允许您仅提取感兴趣区域的像素以进行缩放。rgb_channel是从RGB565图像(如果传递)中提取和在显示屏上渲染的RGB通道(0=R, G=1, B=2)。例如,如果传递rgb_channel=1,则会提取RGB565图像的绿色通道并以灰度显示。alpha控制图像的不透明度。职位256显示不透明图像,而低于256的值会产生黑色透明图像。0会产生完全黑色图像。color_palette如果不是-1,可以是image.PALETTE_RAINBOW、image.PALETTE_IRONBOW或总共256像素的RGB565图像,用作输入图像的灰度值的颜色查找表。如果使用了rgb_channel,则会在缩放之后应用此选项。alpha_palette如果不是-1,可以是总共 256 像素的 GRAYSCALE 图像,用作 alpha 调色板,以像素级别调制正在显示的输入图像的alpha值,从而精确控制根据其灰度值的像素的 alpha 值。 alpha 查找表中值为 255 的像素是不透明的,小于 255 的值会更加透明直到 0。如果使用了rgb_channel,则会在缩放之后应用此选项。hint可以是标志的逻辑 OR:image.AREA:在缩小时使用区域缩放,而不是默认的最近邻插值。image.BILINEAR:使用双线性缩放,而不是默认的最近邻插值。image.BICUBIC:使用双三次缩放,而不是默认的最近邻插值。image.CENTER:将要绘制的图像居中显示。这将在缩放后应用。image.HMIRROR:水平镜像图像。image.VFLIP:垂直翻转图像。image.TRANSPOSE:转置图像(交换 x/y)。image.EXTRACT_RGB_CHANNEL_FIRST:在缩放之前执行 rgb_channel 提取。image.APPLY_COLOR_PALETTE_FIRST:在缩放之前应用颜色调色板。image.SCALE_ASPECT_KEEP:将要绘制的图像缩放以适应显示器内部。image.SCALE_ASPECT_EXPAND:将要绘制的图像缩放以填充显示器(会导致裁剪)image.SCALE_ASPECT_IGNORE:将要绘制的图像缩放以填充显示器(会导致拉伸)。image.ROTATE_90:将图像旋转 90 度(这只是 VFLIP | TRANSPOSE)。image.ROTATE_180:将图像旋转 180 度(这只是 HMIRROR | VFLIP)。image.ROTATE_270:将图像旋转 270 度(这只是 HMIRROR | TRANSPOSE)。
- RGBDisplay.clear(display_off=False) None¶
将LCD屏幕清除为黑色。
display_off如果为 True则关闭显示逻辑,而不是将 LCD 帧缓冲区清除为黑色。之后,还应关闭背光,以确保屏幕变为黑色,因为许多显示器仅在打开背光时为白色。
- RGBDisplay.backlight(value: int | None = None) int¶
设置LCD背光调光值。0(关闭)至100(开启)。
请注意,除非传递
DACBacklight或PWMBacklight,否则背光将作为GPIO引脚进行控制,并且只能从0(关闭)到非0(开启)。不传递参数以获取背光值的状态。