当前位置: 首页 > news >正文

rgb565和rgb565A8的区别

RGB565 和 RGB565A8 的核心区别在于是否包含独立的透明度(Alpha)通道以及如何处理透明度。

下面的表格清晰地展示了两者的主要区别:

特性RGB565RGB565A8 (或 CF_RGB565A8)
颜色信息R(5位) + G(6位) + B(5位)R(5位) + G(6位) + B(5位)
透明度信息无独立Alpha通道有独立的8位Alpha通道
像素数据结构单个16位值:RRRRRGGG GGGBBBBB两个部分
1. 颜色数据:16位的RGB565值
2. Alpha数据:8位的透明度值
一个像素占用的内存2 字节3 字节 (2字节颜色 + 1字节Alpha)
透明度处理只能实现完全透明(通过色键,如绿色)或完全不透明可以实现256级平滑透明度(半透明、淡入淡出等)
LVGL 颜色格式LV_IMG_CF_TRUE_COLOR (当 LV_COLOR_DEPTH=16 时)LV_IMG_CF_RGB565A8
适用场景普通不透明图片、图标、背景需要平滑半透明效果的图片(如阴影、光晕、叠加层)

🖼️ 深入理解两者的区别

1. RGB565(不透明或二值透明)
  • 数据结构:每个像素用一个16位(2字节)的整数表示。它只包含颜色信息,没有专门的透明度。

  • 模拟透明度:如果需要让图片的某些部分“透明”,通常采用一种叫做色键抠图的技术。你指定一种颜色(例如,明亮的绿色 #00FF00)作为“透明色”。在显示时,LVGL遇到这种颜色的像素就直接跳过绘制,露出后面的背景。

  • 缺点:透明度是“全有或全无”的,无法实现平滑的半透明效果。边缘可能呈现锯齿状。

2. RGB565A8(带Alpha通道的真彩色)
  • 数据结构:每个像素的信息被拆分存储在两个地方:

    1. 颜色图:一个普通的RGB565图像数组,存储所有像素的颜色。

    2. Alpha图:一个额外的、大小相同的8位灰度图像数组,专门存储每个像素的透明度值(0 = 完全透明,255 = 完全不透明)。

  • 真正的透明度:由于每个像素都有独立的透明度值,它可以与背景进行Alpha混合,产生非常平滑的半透明、淡入淡出等高级视觉效果。

  • 内存开销:这是为高质量视觉效果付出的代价,比RGB565多占用50%的内存(3字节/像素 vs 2字节/像素)。

💻 在LVGL中的具体体现

在LVGL的图像描述符 lv_img_dsc_t 中,这两种格式的区别非常明显:

RGB565 图像描述符示例:

c

const lv_img_dsc_t my_opaque_image = {.header = {.cf = LV_IMG_CF_TRUE_COLOR, // 颜色格式.w = 100,.h = 50,},.data_size = 100 * 50 * 2, // 数据大小 = 宽 * 高 * 2字节.data = rgb565_color_data // 指向一个连续的RGB565数据数组
};

RGB565A8 图像描述符示例:

c

const lv_img_dsc_t my_alpha_image = {.header = {.cf = LV_IMG_CF_RGB565A8, // 颜色格式.w = 100,.h = 50,},.data_size = 100 * 50 * (2 + 1), // 数据大小 = 宽 * 高 * (2字节颜色 + 1字节Alpha).data = rgb565a8_combined_data // 指向一个组合的数据数组
};

对于 CF_RGB565A8data 指针通常指向一个交错存储的数据块:[像素0的颜色(2字节)], [像素0的Alpha(1字节)], [像素1的颜色], [像素1的Alpha], ...

💎 总结如何选择

  • 使用 RGB565 (CF_TRUE_COLOR):当你的图片不需要透明度,或者只需要“全透明/不透明”这种二值透明(且可以使用色键抠图)时。这是最节省内存的格式。

  • 使用 RGB565A8 (CF_RGB565A8):当你的图片需要平滑的半透明效果,如投影、模糊、光泽感图标、叠加层时。这会消耗更多内存,但能获得更好的视觉质量。

简单来说,RGB565A8 就是带“高级透明度”的 RGB565

http://www.dtcms.com/a/412093.html

相关文章:

  • 2023免费网站推广wordpress模板最新
  • 视频网站文案开网站需要什么流程
  • 单仁资讯做网站怎样网站商城与网站区别吗
  • 农林网站建设西安有关做网站的公司
  • 基于PLC的粉料输送系统(论文+源码)
  • IP代理在数据采集中的重要性
  • 网站制作理念暴雪战网
  • 【入门级-算法-6、排序算法: 计数排序】
  • 传奇网站架设方法做网站赔钱了
  • 智慧停车大屏改造详细修改文档
  • 做网站需要icp吗园林景观设计平面图
  • Visual Studio 插件 - 喝水提醒
  • 景区网站建设 现状中俄跨境电商平台有哪些
  • 福建省教师空间建设网站稿定设计网页版登录
  • 摄影网站都有什么网站应用系统设计方案
  • 2014-2024高考真题考点分布详细分析(另附完整高考真题下载)
  • 天津站内关键词优化手机搜索引擎
  • asp网站源码东莞商城网站建设公司
  • 京东商城网站地址是多少深圳龙华区大浪街道
  • 百度竞价推广托管长春seo排名公司
  • 论文《A Recurrent Latent Variable Model for Sequential Data》翻译
  • 笔记(C++篇)—— Day 12
  • 建立网站准备工作凡科网站源码下载
  • 将数组最后一位元素移动到数组首元素位置,其余元素依次向后移动一位
  • 建站快车优势扬州、常州、扬州、泰州
  • 帮别人做网站音乐推广平台有哪些
  • 静态代理与动态代理
  • vue3+vite,引入阿里巴巴svg图标,自定义大小颜色
  • 网站搭建哪家公司最好有哪些营销型网站
  • LoRa大模型微调