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

相关推荐
wjs20247 小时前
C++ 基本的输入输出
开发语言
码云数智-园园7 小时前
Python的GIL锁如何影响多线程性能?有哪些替代方案?
开发语言
咬_咬8 小时前
go语言学习(map)
开发语言·学习·golang·map
古城小栈8 小时前
rustup 命令工具,掌控 Rust 开发环境
开发语言·后端·rust
NQBJT8 小时前
嵌入式从零开始(第十二篇):调试与工具链 —— 从 IDE 到逻辑分析仪
ide·stm32·单片机·嵌入式硬件·c#
lly2024068 小时前
NumPy 高级索引
开发语言
XY_墨莲伊8 小时前
【编译原理】实验二:基于有穷自动机FA词法分析器设计与实现
c语言·开发语言·c++·python
广州灵眸科技有限公司8 小时前
瑞芯微(EASY EAI)RV1126B 网络摄像头方案
开发语言·网络·科技·嵌入式硬件·物联网
少许极端8 小时前
算法奇妙屋(四十五)-CCPC备战之旅-1
java·开发语言·算法
U盘失踪了8 小时前
go 常量
开发语言·后端·golang