用ESC/P控制码,怎样向喷墨打印机传送图形数据啊,包括颜色信息???(大虾们,说话呀)(200分)

  • 主题发起人 主题发起人 Shuzi
  • 开始时间 开始时间
S

Shuzi

Unregistered / Unconfirmed
GUEST, unregistred user!
打印机:Epson STYLUS COLOR 1520K
 
http://webpages.charter.net/dperr/links/esc_p2.htm
根据说明向打印端口发送数据
 
朋友,可以详细点不
 
咋没人说话啊
 
可到这里来看看。http://www.feiyang.net.cn/index.htm
 
CreateFile 打开 LPT1
WriteFile 直接向端口写数据
 
我的意思是:如何组织图形数据(包括颜色信息)
 
木马站。delphi_delphi真不是好鸟
 
直接写打印机控制指令是好多年前的事了。不过ESC指令一般都是ESC+指令字+数据这样的格式吧。先在打印机说明书上找到你要的指令,然后按指令要示组织字串,再用CreatFile打开LPT1口,用WriteFile写指令字串就可以了。
如果只是想通过delphi打印图形数据就不用直接写打印控制指令那么麻烦,直接在printer的canvas上画就可以了。
 
这个问题实在有些难度,需要很多专业的知识。

我是从经验角度来考虑这个问题的,由于没有仔细阅读理解 ESC/P指令集,加上没有
打印机驱动方面的知识,所以只能泛泛而谈了。

首先我觉得是 RGB 到 CYMK 的转换 这个代码应该不复杂,网上可以搜索得到,但是
针对具体打印机可能有3色墨盒、4色墨盒、6色墨盒的,如何具体映射还要根据打印机
的墨盒色彩来确定算法,或者干脆就采用查表方式。

其次,采用半色调过程,定位色点的打印位置,代码也可以搜索到,一般有规则抖动
和图像扩散技术两种。

然后根据上述两个过程确定出具体的ESC/P指令,形成数据,发送到打印口

不过,要想打印出清晰、逼真的图像,没有对打印机、对色彩、对算法的深入了解好
像不太可能,[:(]
 
谢谢以上两位的回答!
我一直以来对图象很外行,可是偏偏这次碰到了这种需求,真愁人。
具体要求是这样的:我要作一个图形实时打印的东西,简单地说就是数据来一次就要
打印一点图形出来。因为WINDOW是页面打印方式,曾试想将纸张设的很短,比如24点那
么高吧,可是打印机不支持,最小要10MM,如果这样就要等好长时间才能画满1页,然后
才打出来,用户不满意。所以想到了直接发控件码打印,原来的黑白图形经过转换,倒是
打印出来了,可是人家现在又要彩色的,我死活搞不懂它那个彩色数据怎样组织。
请朋友们想想办法,或许还有其它的什么办法?
打印机是:Epson STYLUS COLOR 1520K
socid兄说的方法我知道,也用过,但我现在的问题是不知道如何组织彩色数据给打印机。
tseug老兄说的CYMK、半色调是什么概念啊,我咋找不到相关资料,能提供吗
 
不会没有答案吧
 
直接控制打印机驱动,或者直接控制打印机(你需要知道具体的控制指令)。
先打印到文件,然后你分析这个文件的数据,这个方法也许可以帮你研究。
 
嗯,这倒也是一个办法,谢谢
 
请继续支招
请继续支招
请继续支招
 
http://www.wanfangdata.com.cn/qikan/periodical.Articles/dzgcs/dzgc2006/0607/060721.htm
上面是一篇文章的地址,要万方会员才能下:(,楼主想办法看看也许会有用。

用ESC/P指令控制EPSON喷墨打印机

朱炬 

摘 要:现代智能仪器大多内置打印控制程序,对内嵌特定打印程序的编写需要对打印机的开发语言加以了解.以EPSON C43SX打印机打印控制为例,阐述了EPSON打印控制语言ESC/P指令的用法,并以DOS操作系统下开发为例,介绍了如何初始化打印机及其图形方式,最后给出了控制无中文字库的外接喷墨打印机按比例打印特定中文及图形的解决方法.
关键词:喷墨打印机;ESC/P指令;图形方式;中文打印
分类号:TP334.83
 
这篇文章我看过了,没有说到颜色这一块
 
问题还没解决
 
快接近目标了

打印机接收的图形数据是一个字节对应图形的8个像素点,现在的问题是:
怎样根据像素点的CMY值确定该点打印(1)还是不打印(0)?
 
终于搞定了
现作了一个通用的组件,可以逐行打印图片,不知道会不会有人感兴趣。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
643
import
I
I
回复
0
查看
974
import
I
后退
顶部