- 博客(2)
- 资源 (8)
- 收藏
- 关注
原创 Trace.ORM.Service、Trace.ORM.Data OR映射数据库访问中间件介绍
这个中间件的编写前提,是从大量的数据库访问操作SQL中解放出来,将开发者的业务点,引入到纯粹的业务层面。 中间件参考了Hibernate和早期一套在用框架的一些想法观点,更多的想法是做了变体处理,以增加更高的灵活性和易用性。 此处中间件,分两个接口,一个为查询接口,一个为实体映射操作接口,其中的查询接口,主要是应对,很多的面向多表查询,笛卡尔积查询,或聚合查询等条件,因为这些查询,太过于灵活和
2017-01-15 12:36:31 1099 2
Zebra打印机,中文转ZPL指令的.net实现,替换FNTHEX32.DLL,源代码实现
编写API的目的,Zebra官方提供的Unicode转化组件FNTHEX32.DLL,是一个非托管组件,托管环境下还需要再封装。
该组件直到现在还未找到对应的64位程序兼容组件,为了解决32位和64位的兼容问题,最后编写开发此API,
此API完全用.net开发,无需考虑兼容性问题,实现与FNTHEX32.DLL相同的效果。
此API改善了FNTHEX32.DLL中的字体问题,支持windows下所有字体。
程序处理思路:
先将文本用GDI+做绘图,
在内存中绘制出文本对应的图形,
然后将图形进行像素点取点处理,
取出每一个像素点,进行灰度处理,
按照0-255的灰度值,进行黑白判断,
此处取了一个中间一点的值,180,作为黑白分解点,
取出的黑白点,按照01组合,每八个像素点组合成一个字节,不满0填充,0代表白色像素点,1代表黑色像素点
将字节转化成对应的16进制字符,完成无压缩数据获取
在无压缩数据的基础上,按照ZPL指令中进行压缩,可以大量缩减字节长度,ZPL压缩参见ZPL协议
2022-11-22
Zebra打印机,中文转ZPL指令的.net实现,替换FNTHEX32.DLL
编写API的目的,Zebra官方提供的Unicode转化组件FNTHEX32.DLL,是一个非托管组件,托管环境下还需要再封装。
该组件直到现在还未找到对应的64位程序兼容组件,为了解决32位和64位的兼容问题,最后编写开发此API,
此API完全用.net开发,无需考虑兼容性问题,实现与FNTHEX32.DLL相同的效果。
此API改善了FNTHEX32.DLL中的字体问题,支持windows下所有字体。
程序处理思路:
先将文本用GDI+做绘图,
在内存中绘制出文本对应的图形,
然后将图形进行像素点取点处理,
取出每一个像素点,进行灰度处理,
按照0-255的灰度值,进行黑白判断,
此处取了一个中间一点的值,180,作为黑白分解点,
取出的黑白点,按照01组合,每八个像素点组合成一个字节,不满0填充,0代表白色像素点,1代表黑色像素点
将字节转化成对应的16进制字符,完成无压缩数据获取
在无压缩数据的基础上,按照ZPL指令中进行压缩,可以大量缩减字节长度,ZPL压缩参见ZPL协议
2017-10-31
通用日志记录组件
/*
整个日志记录的调度全部统一放在公共组件中,使用者只需要构建两个派生类,实现简单灵活,当前只针对写入到文件的日志记录,后面逐步增加到数据库的结构化日志存储接口
* 一个派生类,用于指定其实现的日志记录类型,另一个派生类,用于设置日志记录配置信息
* 通用日志记录组件,采用统一的写入接口,在内部根据外部的派生类,实现自动的日志信息分拣
* 由于通用日志记录组件内部,会有几级的缓存调度处理,要结合全局消息中心进行配套启停使用详见Program.cs启动项,可根据配置信息,进行调度设置
* 日志写入接口自动实现线程数据同步,在不同的线程下写入日志记录,无需关注线程数据同步,并且日志记录写入为无阻塞处理,不会影响主业务线程的任何调度
* 多进程运行,根据进程唯一标记,自动对记录文件进行标记,防止标记文件共享冲突
*/
2014-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人