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

相关推荐
雾岛听蓝几秒前
C++ 模板初阶
开发语言·c++
小杰帅气1 分钟前
智能指针喵喵喵
开发语言·c++·算法
代码or搬砖2 分钟前
悲观锁讲解
开发语言·数据库
hudawei9962 分钟前
对比kotlin和flutter中的异步编程
开发语言·flutter·kotlin·异步·
南棱笑笑生3 分钟前
20251219给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后解决启动不了报atf-2的问题
linux·c语言·开发语言·rockchip
deephub6 分钟前
ONNX Runtime Python 推理性能优化:8 个低延迟工程实践
开发语言·人工智能·python·神经网络·性能优化·onnx
蕨蕨学AI6 分钟前
【Wolfram语言】22 机器学习
开发语言·wolfram
百***78757 分钟前
LLaMA 4 API国内稳定接入指南:中转服务全链路实操与优化方案
开发语言·php·llama
Matlab仿真实验室9 分钟前
基于Matlab实现歌曲人声消除仿真
开发语言·matlab
郑州光合科技余经理1 小时前
PHP构建:支撑欧美澳市场的同城生活服务平台开发
java·开发语言·数据库·uni-app·php·排序算法·生活