linux下有C语言的绘图库函数么

linux下有C语言的绘图库函数么,第1张

可以通过jpeg库用framebuff来显示图片

*** 作流程就是

1、打开设备open("/dev/fb0", O_RDWR)

2、然后通过ioctrl用相应的命令去获取显示屏的参数,

3、内存映射,memmap()将帧缓存的显存映射到用户控件的一块内存空间,

4、然后对memmap函数返回的指针 *** 作就可以直接往屏幕上写数据了。

至于颜色问题,你到网上找一下配色方案,每一种颜色都对应一个十六进制数,将这个十六进制数

写进去,就是一个颜色点……

两种实现,一是用 framebuffer,二是开 X 服务。

相对来说,低性能的嵌入式用 framebuffer 更好。如果性能好可以用 X 服务实现图形显示。前者基于内核的显示驱动,后者看 X 服务的驱动了。

X 服务可以跑很多软件不需要重新开发,但 c/s 架构效率不是很好。

framebuffer 是软件直接 *** 作硬件的存储器,性能实现比较好。但很多功能都要自己写代码实现。

显示图片在 fb 里面我要是没记错,就是把图片解码成你的软件支持的格式,之后把这部分数据写入 fb 内存。

怎么弄就别找我了。建议看看相关的开发文章。

还有就是 QT 库本身就有直接 fb 输出的函数库,GTK 似乎也有,但目前好像还不是完全可用。用他们作为过渡函数库还不错的。但要注意他们的软件协议!

举个例子吧:

离散和线性图

第一个脚本,script1.py 完成如下任务:

创建3个数据集(xData,yData1和yData2)

创建一个宽8英寸、高6英寸的图(赋值1)

设置图画的标题、x轴标签、y轴标签(字号均为14)

绘制第一个数据集:yData1为xData数据集的函数,用圆点标识的离散蓝线,标识为"y1 data"

绘制第二个数据集:yData2为xData数据集的函数,采用红实线,标识为"y2 data"

把图例放置在图的左上角

保存图片为PNG格式文件

script1.py的内容如下:

import numpy as np

import matplotlib.pyplot as plt

xData = np.arange(0,10,1)

yData1 = xData.__pow__(2.0)

yData2 = np.arange(15,61,5)

plt.figure(num=1, figsize=(8,6))

plt.title('Plot 1', size=14)

plt.xlabel('x-axis', size=14)

plt.ylabel('y-axis', size=14)

plt.plot(xData, yData1, color='b', linestyle='--', marker='o', label='y1 data')

plt.plot(xData, yData2, color='r', linestyle='-', label='y2 data')

plt.legend(loc='upper left')

plt.savefig('images/plot1.png', format='png')

所画之图如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/9023670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存