LatticePHP-使用PHP生成点阵图
入门
这是什么
LatticePHP是一个点阵图生成软件包,用于PHP生成点阵图。由于点阵图生成一般是嵌入式语言所需要的,而PHP几乎不使用,于是我开发了这一款冷门的软件包,希望能帮助你。
项目已经开源:Github地址
环境
- PHP >= 7.1
安装
使用composer安装
或者前往GitHub仓库下载源文件,自行手动导入
使用
先创建一个画布
这样子我们就创建了一个296X128的一个画布
接下来往上写字
效果如下
画一个矩形
效果如下
画二维码
输出HTML来看看效果
完整Demo
代码文档
画布
您在做任何操作之前起码得先创建一个画布。
字体
获取点阵字体
普通的字体因为加了锐角、美化是不能直接用来生成点阵图的,必须使用点阵字体
。但是这方面的市场非常小,所以做的人很少,仅有的几个还会收取高昂费用。
这里提供一个工具用来生成点阵字体。
需要注意的是,如果源字体不可商用,您也无法将这个点阵字体商用,请尊重版权。本文会用免费的宋体来演示。
这里面主要是设置字号和字体宽高度,宽高要保持8的倍数,比如12号字体宽高填16。
格式 bin 然后保存即可。
代码里使用
这里第一个参数是字体路径,第二个是中文宽度,第三个是英文宽度,因为英文比中文短一半,所以设置为8。(设置英文宽度主要是去除多余空白,不然影响美观)
颜色
LatticePHP
是用 1 表示黑色 0 表示白色 (后期可以考虑加入其他颜色)。本质上点阵图就是一串01010101
.
颜色反转
您可以传入$lattice->image
,因为这个是整张画布,如这么做将会把整张画布颜色反转。
坐标偏移
所有绘制的图像需要设置X、Y坐标与偏移指令,例如:
除了top-center
,还有top-right
、top-left
、bottom-center
、bottom-left
、bottom-right
、center-right
、center
、center-left
意思应该懂吧,top-center
就是Y轴靠上,X轴居中,以此类推。
文本
参数$getType
的意思是返回一个由01构成的数组。
例如:
图形
点
直线
矩形
插入自定义图片
条码
因为条码种类繁多,所以LatticePHP
内置了CodeItNow
来生成条码,先生成图片,然后再插入。
一维码
二维码
输出画布
我们有时候需要预览画布,您可以通过LatticeOutput
这个工具类进行输出
输出HTML
输出数组
通过<pre>
这个标签可以格式化输出
输出16进制
将图片的01
当做二进制转换为16进制
其他
截取
有时候您插入了一个超过了整张画布的图片,它不会报错,但肯定会影响您的程序。您需要使用这个方法进行画布截取。
这将会把超出画布的元素截取掉。
字符串换行
默认情况下一个字符串超出时不会换行,您可以通过这个函数进行换行
ABABAB合并字符串
__EOF__

本文链接:https://www.cnblogs.com/cxfs/p/17050133.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库