c#/ .net8 香橙派orange pi +SSD1306 oled显示屏 显示中文+英文 实例

本文使用香橙派orangepi pi 3lts+SSD1306 oled显示屏作为例子,其它型号的也是一样使用的

在nuget包中安装 

Sang.IoT.SSD1306;

以下两个二选一
SkiaSharp;//在window下运行装这个

SkiaSharp.NativeAssets.Linux.NoDependencies;//在linux下运行一定要装这个

在c# .net 8中开发的代码 

using Sang.IoT.SSD1306;
using SkiaSharp;namespace IotDeviceToolHepler.Device
{public class DeviceDisplay_SSD1306{public void Test(){Display();}public void Display(){Console.WriteLine("Start. Press Ctrl+C to end.");// 显示准备using var oled = new SSD1306_128_64(0); //这里的0对应i2c通道oled.Begin();oled.Clear();var bitmap = new SKBitmap(128, 64, true);SKPaint paint = new SKPaint(){Color = new SKColor(255, 255, 255),StrokeWidth = 1, //画笔宽度Typeface = SKTypeface.FromFile("/usr/share/fonts/truetype/wqy/MSYH.TTC"),//linux下显示中文,需要字库,从window中的C:\Windows\Fonts\目录中copy过去TextSize = 13,  //字体大小Style = SKPaintStyle.Fill,};SKCanvas canvas = new SKCanvas(bitmap);while (true){paint.TextSize = 13;canvas.DrawText(System.DateTime.Now.ToString("yyy-MM-dd HH:mm:ss"), 0, 12, paint);paint.TextSize = 30;canvas.DrawText("设备正常", 0, 50, paint);oled.Image(bitmap.Encode(SKEncodedImageFormat.Png, 100).ToArray());oled.Display();canvas.Clear();Thread.Sleep(1000);}}}
}

这里出现的问题,就是中文出现乱码,需要在linux中上传中文字库,详细处理方法见:.net 在ubuntu下动态写入 中文字乱码 解决:ubuntu下添加中文字库-CSDN博客

驱动官方例子:https://github.com/sangyuxiaowu/Sang.IoT.SSD1306 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/709118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++之std::list

概念说明&#xff1a; List是由双链表实现的一个容器&#xff0c;每个节点存储一个元素&#xff0c;支持前后两种移动方向。List的内存随着添加的节点增加而增加。数据在内存上存储是不连续的。 1、构造与赋值。 list<int> nlist;//一个空的list list<int> nlist1…

unity shaderGraph实例-物体线框显示

文章目录 本项目基于URP实现一&#xff0c;读取UV网格&#xff0c;由自定义shader实现效果优缺点效果展示模型准备整体结构各区域内容区域1区域2区域3区域4shader属性颜色属性材质属性后处理 实现二&#xff0c;直接使用纹理&#xff0c;使用默认shader实现优缺点贴图准备材质准…

局部变量和参数在代码块中有什么区别??

def searchBST(self, cur, freq_map):if cur is None:returnfreq_map[cur.val] 1 # 统计元素频率self.searchBST(cur.left, freq_map)self.searchBST(cur.right, freq_map)def findMode(self, root):freq_map defaultdict(int) # key:元素&#xff0c;value:出现频率result…

普通索引和唯一索引详解

前言 面试的时候有时会问面试者&#xff0c;普通索引和唯一索引有什么区别。很多人&#xff0c;甚至工作很多年的工程师回答的千篇一律 “普通索引可以有重复的值&#xff0c;唯一索引不能有重复的值”。于是我又问&#xff0c;这两个索引这两个索引效率哪个高&#xff0c;很少…

Android audio 音量曲线

index 转化为 db的流程 首先android 根据不同的流类型定义不同的曲线&#xff0c;曲线文件存放在/vendor/etc/audio_policy_volumes.xml 或者audio_policy_volumes_drc.xml下面 要看audio_policy_configuration.xml所引用的xml。 <volume stream"AUDIO_STREAM_ENFORCE…

腾讯云优惠购买政策大全:新老用户都来瞧瞧!

腾讯云服务器多少钱一年&#xff1f;62元一年起&#xff0c;2核2G3M配置&#xff0c;腾讯云2核4G5M轻量应用服务器218元一年、756元3年&#xff0c;4核16G12M服务器32元1个月、312元一年&#xff0c;8核32G22M服务器115元1个月、345元3个月&#xff0c;腾讯云服务器网txyfwq.co…

【Elasticsearch管理】缓存机制

文章目录 缓存Field data cache&#xff08;字段数据缓存&#xff09;Node query cache&#xff08;节点查询缓存&#xff09;Indexing buffer&#xff08;索引缓冲区&#xff09;Shard request cache&#xff08;分片请求缓存&#xff09;缓存失败启用/禁用缓存根据请求启用/禁…

script中的defer和async

在HTML中&#xff0c;<script>标签可以使用async和defer两个属性来控制外部JavaScript文件的加载和执行方式。这两个属性的目的是优化页面加载时间&#xff0c;但它们以不同的方式工作。下面是每个属性的具体说明&#xff1a; async属性 当你给<script>标签添加a…

pwa应用打开自动跳转到某个网页网址,并且全屏不显示网址url,就像这个网页也具备了pwa功能

问题描述 如果是只要在同一个域名下配置了pwa功能,那么当从桌面上打开这个pwa软件时,就会像真正的app运行一样,全屏显示,并且不显示网址的,但是如果要动态配置打开pwa时动态加载不同的网址,使用 window.location.href = “网址”这种形式重定向url就会导致pwa出现地址栏…

淘宝商品详情API:电商竞品分析的重要工具

淘宝商品详情API是淘宝开放平台提供的一种接口&#xff0c;允许开发者获取淘宝商品详情的信息&#xff0c;包括商品标题、价格、销量、评价等。对于电商竞品分析来说&#xff0c;这个API是一个重要的工具&#xff0c;因为它可以帮助分析者快速获取竞品商品的数据&#xff0c;从…

若依springboot接入feign踩坑记录

问题情境&#xff1a; 简单的项目采用了若依的前后端分离版本单体应用&#xff0c;之前采用forest请求调用第三方接口&#xff0c;改为feign接口调用后&#xff0c;引入feign报错 error creating bean with name ‘configurationPropertiesbean’ 解决方案&#xff1a; spri…

【MySQL】基本查询(表的增删改查)-- 详解

CRUD&#xff1a;Create&#xff08;创建&#xff09;&#xff0c;Retrieve&#xff08;读取&#xff09;&#xff0c;Update&#xff08;更新&#xff09;&#xff0c;Delete&#xff08;删除&#xff09;。 一、Create insert [into] table_name [(column [, column] ...)] v…

uniapp:根据环境(开发、测试、生产)选择服务器接口或者业务

一、根据环境&#xff08;开发、测试、生产&#xff09;选择服务器接口或者业务 打开main.js 页面&#xff0c;使用以下代码 const accountInfo wx.getAccountInfoSync(); const envWx accountInfo.miniProgram.envVersion; if (envWx develop) {console.log(开发环境&…

Unity中URP实现水体(水的焦散)

文章目录 前言一、原理1、 通过深度图&#xff0c;得到 对应像素 在 世界空间下的Z值2、得到模型顶点在 观察空间 下的坐标3、由以上两点得到 深度图像素 对应的 xyz 值4、最后&#xff0c;转化到 模型本地空间下&#xff0c;用其对焦散纹理采样 二、实现1、获取深度图2、在顶点…

警惕!2本期刊被剔除!2024年2月Scopus期刊目录已更新!

【SciencePub学术】 ​2024年2月&#xff0c;Scopus数据库迎来本年度第二次更新&#xff01;此次更新后&#xff0c;有94本期刊发生变动&#xff1a; • 剔除&#xff1a;有2本期刊不再被Scopus数据库收录&#xff08;Discontinued titles Jan. 2024&#xff09;&#xff1b; …

【低代码开发_RuoYi_框架】RuoYi框架_前端页面部署/搭建

开源软件的影响力 随着信息技术的快速发展&#xff0c;开源软件已经成为软件开发的趋势&#xff0c;并产生了深远的影响。开源软件的低成本、可协作性和透明度等特点&#xff0c;使得越来越多的企业和个人选择使用开源软件&#xff0c;促进了软件行业的繁荣。然而&#xff0c;…

主流Golang框架对比以及介绍

一.Gin框架 Gin是Golang社区非常受欢迎的一个轻量级框架,它具有简洁易用的特点&#xff0c;并且拥有很好的性能和可扩展性.Gin采用类似MVC的架构&#xff0c;支持中间件、路由、模板渲染等功能&#xff0c;同时也提供了一些强大的插件和工具&#xff0c;例如Swagger、CORS等,还…

在线原型工具有哪些比较好用?

随着云计算和5G网络的发展&#xff0c;互联网办公工具的发展 Web 这是一个不可避免的趋势。那么&#xff0c;对于产品设计团队来说&#xff0c;哪些在线设计工具值得体验呢&#xff1f;今天&#xff0c;让我们来看看一些国内外经典的在线原型工具。 即时设计 - 可实时协作的专…

比特币逼近历史高点,ETF疯了,Coinbase崩了,尼日利亚抓人了

2月28日&#xff0c;比特币冲高回落&#xff0c;加密货币交易所Coinbase则因宕机上演了一波“0元惊魂”。 比特币隔夜美股盘中突然飙高&#xff0c;突破6.4万美元大关&#xff0c;距历史新高仅一步之遥&#xff0c;但随后回落&#xff0c;几分钟之内就跌了5000美元&#xff0c…

2022年上半年教师资格证考试《综合素质》(中学)题

4.某校在初三年级实行两张课程表&#xff0c;一张公开的应对检查&#xff0c;一张不公开的实际执行&#xff0c;以提高升学率。对于该校做法&#xff0c;正确的是&#xff08;C &#xff09;。 A遵循了学科教学的基本规则 B降低了学生学习的效率 C漠视了学生全面发展的需要 …