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

墨水屏 函数Paint_SetScale的详解

在微雪(Waveshare)墨水屏的驱动库中,Paint_SetScale(4) 是一个用于 设置绘图缩放比例 的函数,主要影响后续绘图操作(如画点、线、文字等)的像素放大效果。以下是详细说明:


1. 函数作用

  • 功能
    指定绘图时的 像素放大倍数,例如 Paint_SetScale(4) 表示每个逻辑像素会被绘制为 4x4 的物理像素块
  • 目的
    放大显示内容,提高可视性(尤其在低分辨率屏幕上显示粗体文字或图形)。

2. 参数解释

参数值效果示例(绘制一个点)
1无缩放(1:1)1x1 像素
22倍缩放(2x2像素块)2x2 像素
44倍缩放(4x4像素块)4x4 像素

3. 实际应用示例

(1) 绘制放大文字
Paint_NewImage(image, EPD_WIDTH, EPD_HEIGHT, 0, WHITE);
Paint_SetScale(4);  // 设置4倍缩放
Paint_DrawString_EN(10, 20, "ABC", &Font12, BLACK, WHITE);
  • 效果
    字体 ABC 的每个像素会被放大为 4x4 的方块,文字更粗、更易识别。
(2) 绘制放大图形
Paint_SetScale(2);  // 2倍缩放
Paint_DrawRectangle(30, 30, 60, 60, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
  • 效果
    矩形的边框线条变粗(每个逻辑点扩展为 2x2 物理点)。

4. 注意事项

  1. 缩放范围
    通常支持 124 倍缩放,具体取决于驱动库实现。
  2. 性能影响
    放大倍数越高,绘图计算量越大(但墨水屏刷新速度仍受硬件限制)。
  3. 与字体配合
    缩放对内置字库(如 Font12Font16)有效,但自定义位图需手动放大。
  4. 局部刷新限制
    若使用局刷(Partial Refresh),需确保缩放后的图形不超出局刷区域边界。

5. 常见问题

Q:设置缩放后为何显示不全?
  • 原因
    缩放后的图形超出画布边界(如4倍缩放下,坐标 (x, y) 实际占用 (x*4, y*4)(x*4+3, y*4+3))。
  • 解决
    调整绘图坐标或缩小缩放倍数。
Q:缩放对灰度模式的影响?
  • 4灰度模式
    缩放仅改变像素块大小,不改变灰度值(如 GRAY2 仍为中间灰色,但显示为 4x4 的灰色块)。

总结

  • 核心用途:通过 Paint_SetScale(4) 放大内容,提升低分辨率屏幕的可读性。
  • 适用场景
    • 需要突出显示的文字/图标
    • 小型墨水屏(如2.7英寸)上的粗体信息
  • 搭配建议
    • 缩放后建议使用 DOT_PIXEL_1X1 绘制,避免过度模糊。
    • 全刷模式下使用效果最佳,局刷需谨慎计算区域。

效果

在这里插入图片描述

http://www.xdnf.cn/news/8929.html

相关文章:

  • 【公式】MathType,axmath公式批量统一大小
  • MMDetection3D最全源码安装教程
  • Python打卡训练营day31-文件拆分
  • 【深度学习-Day 17】神经网络的心脏:反向传播算法全解析
  • 【工具变量】上市公司企业未来主业业绩数据集(2000-2023年)
  • 内存管理(第五、六章)
  • RV1126的RGA模块讲解
  • 7.Java String类深度解析:从不可变魔法到性能优化实战
  • 【电机控制】基于STM32F103C8T6的四轮智能车设计——直流有刷有感PID控制(硬件篇)
  • Java基础知识回顾
  • CLion-2025 嵌入式开发调试环境详细搭建
  • Mysql 中的锁
  • 2025京麒CTF挑战赛 计算器 WriteUP
  • 2024 CKA模拟系统制作 | Step-By-Step | 5、题目搭建-查看Pod CPU资源使用量
  • 滑动窗口算法:高效处理数组与字符串子序列问题的利器
  • (九)PMSM驱动控制学习---无感控制之高阶滑膜观测器
  • 61580 RT控制
  • SCI与EI期刊分区及影响因子汇总
  • 超越UniAD!百度哈工大X-Driver:基于视觉语言模型的可解释自动驾驶
  • 多线程的基础知识以及应用
  • 校园二手交易系统
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月25日第88弹
  • 法律大模型之阿里云通义法睿
  • DataX的json配置文件,{},[]讲解
  • 华硕FL8000U加装16G+32G=48G内存条
  • 英语六级-阅读篇
  • 分布式缓存:BASE理论实践指南
  • YOLOv1到YOLOv12各版本发展2025.5.25
  • Jetpack Compose 导航 (Navigation)
  • mysql 导入导出数据