【LVGL学习笔记】image图像相关接口

2023-11-16

数据结构如下:

/**
 * Data of image
 */
typedef struct {
    lv_obj_t obj;
    const void * src; /*图像源:指向数组、文件或符号的指针*/
    lv_point_t offset;
    lv_coord_t w;          /*宽度*/
    lv_coord_t h;          /*高度*/
    uint16_t angle;    /*旋转角度*/
    lv_point_t pivot;     /*图像的旋转中心*/
    uint16_t zoom;         /*256表示无缩放,512表示2倍大小,128一半大小*/
    uint8_t src_type : 2;  /*See: lv_img_src_t*/
    uint8_t cf : 5;        /*Color format from `lv_img_color_format_t`*/
    uint8_t antialias : 1; /*Apply anti-aliasing in transformations (rotate, zoom)*/
    uint8_t obj_size_mode: 2; /*图像大小和对象大小不同时的图像大小模式。*/
} lv_img_t;

比较重要及常用的都翻译了下

常用接口基本上从字面意思也能大致猜到:

// 创建一个图片对象
void lv_img_set_src(lv_obj_t * obj, const void * src);
//设置旋转角度
void lv_img_set_angle(lv_obj_t * obj, int16_t angle);
// 设置旋转的中心点
void lv_img_set_pivot(lv_obj_t * obj, lv_coord_t x, lv_coord_t y);
/**
 * Set the zoom factor of the image.
 * @param img       pointer to an image object
 * @param zoom      the zoom factor.
 * @example 256 or LV_ZOOM_IMG_NONE for no zoom
 * @example <256: scale down
 * @example >256 scale up
 * @example 128 half size
 * @example 512 double size
 */
void lv_img_set_zoom(lv_obj_t * obj, uint16_t zoom);

//从注释中可以很清楚知道后面的zoom参数就是缩放调整比例系数

这里在使用中发现一个问题,可能也是误导很多开发着的地方,图片的源大小、及缩放后的大小决定了图片最终的显示。对象的大小在设置自适应之后会自动适配图片大小,通过下面接口就可以实现:

lv_obj_set_size(xxx, LV_SIZE_CONTENT, LV_SIZE_CONTENT);

但是反过来,图片是无法适配对象大小的。至少目前是没有找到合适的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【LVGL学习笔记】image图像相关接口 的相关文章

  • C++时间戳转换方法详解及示例代码

    C 时间戳转换方法详解及示例代码 时间戳是指从某个固定的起始时间点开始计算的时间间隔 通常以秒为单位表示 在开发中 我们经常需要将时间戳转换成可读性更好的日期时间格式 或者将日期时间格式转换为时间戳 在本文中 将详细介绍如何使用C 编程语言
  • windos 11第一次开机跳过联网/华硕笔记本开机网络错误

    前言 电脑卖家在电脑系统和自带的office办公软件激活后就不支持退货了 目前自带win11的新电脑 开机连网和之前win10不同 没法直接跳过 连网后又必须使用微软账户 对于想先进入电脑桌面检测一下电脑性能和使用本地账号的人很不友好 一下
  • elementui的上传功能-上传图片加参数

    elementui的上传功能 上传图片加参数
  • 面试总结(七):大数据与高并发-1

    问题导读 1 秒杀系统的架构设计是怎样的 2 为什么要使用NOSQL NOT ONLY SQL 3 传统RDBMS和NOSQL的区别是什么 大数据与高并发一 秒杀架构设计业务介绍什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢

随机推荐

  • FISCO BCOS 七、MetaMask测试Ganache搭建的私有网络

    目录 背景介绍 所需软件 1 Ganache 2 MetaMask 操作 第一步 启动Ganache 第二步 使用MetaMask连接Ganache 第三步 开始测试 背景介绍 本文主要介绍如何使用Ganache 在本地搭建以太坊私有网络
  • 【Linux网络编程笔记】TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—实践篇

    http blog csdn net slvher article details 8941945 上篇笔记主要介绍了与TIME WAIT相关的基础知识 本文则从实践出发 说明如何解决文章标题提出的问题 1 查看系统网络配置和当前TCP状态
  • AJAX学习笔记3练习

    AJAX学习笔记2发送Post请求 biubiubiu0706的博客 CSDN博客 1 验证用户名是否可用 需求 用户输入用户名 失去焦点 gt onblur失去焦点事件 发送AJAX POST请求 验证用户名是否可用 新建表 前端页面 W
  • node连接mysql实现带分页列表多条件模糊查询效果-新手教程

    前言 使用node连接mysql 这里是模糊查询方法完整流程 第一 安装我们的express脚手架 入口 第二 在根目录下创建model文件夹 里面放两个文件 1 mysql config js 这里放的是我们的数据库配置 配置链接数据库参
  • 现代JavaScript,你应该使用的10件事

    javascripttip 3 部分系列 1现代 JavaScript 你应该使用的 10 件事 从今天开始 2了解如何在 JavaScript 中使用循环 3如何在 JavaScript 中学习足够多的 RegEx 才能变得危险 您可能对
  • angularjs ajax header,AngularJS发送异步Get/Post请求方法

    1 在页面中加入AngularJS并为页面绑定ng app 和 ng controller 2 添加必要的控件并绑定相应的事件 get param post Get Post 3 在JS脚本中发送进行Get Post请求 get scope
  • keras 入门:卷积神经网络实现 MNIST 手写数字识别

    keras 入门 卷积神经网络实现 MNIST 手写数字识别 手写数字识别问题作为机器学习领域中的一个经典问题 本文介绍如何使用 keras 构建卷积神经网络模型实现 MNIST 手写数字识别 文本代码只需更换训练集目录 修改图片输入尺寸和
  • UVA-140 带宽 题解答案代码 算法竞赛入门经典第二版

    GitHub jzplp aoapc UVA Answer 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 把输入的这些结点进行一个全排列 然后找出带宽最少的组合 其实输入给出的数据量并不大 最多8个结点 不剪枝的话也就是8 个组合 应该
  • benchmark TPC-H postgreSQL

    写在前面 个人对TPCH benchma的理解 我接到这个任务的时候 描述是这样的 呀 用benchMarke生成TPC H然后测试一下 我第一反应就是benchMark是什么 TPCH是什么 现在把这个弄完一遍后来说一下我的理解 首先什么
  • windows查看WIFI无线网络密码

    方法一 通过查看无线属性查询 1 首先 点击电脑右下角的WiFi的图标 选择 打开网络和internet设置 或者选择打开设置 点击 更改适配器选项 2 选中无线网 查看此连接的状态 3 查看无线属性 4 然后选择上方的安全 选中显示字符
  • vue el-table 行排序 + 拖拽排序 简单粗暴

    1 行排序 HTML
  • mmdetection 报错 cats = self.dataset['categories'] KeyError: 'categories'

    如上图 报错 原因 coco训练集中没有categories字段 即数据集的标注json文件不对 解决方案 请参照coco数据集格式
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • PCL MeanShift点云聚类(C++详细过程版)

    目录 一 算法原理 1 原理概述 2 实现流程 3 参考文献 二 代码实现 三 结果展示 四 测试数据 本文由CSDN点云侠原创 爬虫网站请自重原文链接 一 算法原理 1 原理概述 均值漂移算法是一种非参数聚类技术 它不需要预先知道聚类的数
  • HTML、PHP实战:搭建一个网页登录页面。

    一 实验环境 MySQL5 7 26 FTP0 9 60 Apache2 4 39 我这里用的是PHPstudy小皮一键搭建的 数据库 二 登录页面 登录页面前端代码 文件名 denglu html
  • 人工智能学习笔记(一)Agent

    智能agent 开篇前言 agent的分类 1 简单反射agent 2 基于状态的反射agent 3 基于目标的agent 4 基于效用的agent 5 学习agent Exploration vs Exploitation 开篇前言 这段
  • 一文读懂什么是DHCP以及DHCP的功能特点

    随着企业中网络结构的日益复杂 接入终端的急剧增加 传统的IP分配方式已经无法满足日常工作需求 DHCP的出现有效解决了IP地址分配难题 本文中科三方针对什么是DHCP以及DHCP的功能特点做下介绍 什么是DHCP DHCP 全称Dynami
  • Python+Excel筛选未提交人员

    起因 学校给了表格让我们班长统计信息 可以用腾讯大大的TIM协作办公 让大家自己填 感觉方便了很多 然而 信息一旦变多而且顺序又没有固定 到后期想要知道未填信息的同学 这就难受了 只能找到班级名单 一个一个对照着找出未提交人员 日后此类事情
  • OCR入门教程系列(一):OCR基础导论

    作者简介 CSDN 阿里云人工智能领域博客专家 新星计划计算机视觉导师 百度飞桨PPDE 专注大数据与AI知识分享 公众号 GoAI的学习小屋 免费分享书籍 简历 导图等 更有交流群分享宝藏资料 关注公众号回复 加群 或 链接 加群 专栏推
  • 【LVGL学习笔记】image图像相关接口

    数据结构如下 Data of image typedef struct lv obj t obj const void src 图像源 指向数组 文件或符号的指针 lv point t offset lv coord t w 宽度 lv c