aardio - 【库】printer打印操作库

封装一些常用的绘图、文本功能,可以方便的进行打印。

绘制单位为毫米,精确度为0.01毫米。

库文件下载:

http://chengxu.online   →  aardio资源下载  →  printer.rar

打印效果:

aardio - 【库】printer打印操作库_第1张图片

aardio - 【库】printer打印操作库_第2张图片

 示例代码:

import console; 
import godking.printer

var p = godking.printer();
// 开始打印
p.start("这是光庆的打印文档演示")

//打印第1页
p.startPage()
p.drawText( 0,0,"这是第 1 页" )
p.setPen(0x000000,1/*_PS_DASH*/,0.1);
p.drawLine(0,10,200,10);
p.fillRect(20,30,30,50);
p.fillRect(10,35,40,45);
p.drawRect(120,30,130,50);
p.drawRect(110,35,140,45);
p.fillEllipse(100,100,150,120)
p.drawEllipse(100,120,150,140)
p.endPage()

//打印第2页
p.startPage()
p.drawText( 0,0,"这是第 2 页" )
p.setPen(0x000000,4/*_PS_DASHDOTDOT*/,0.5);
p.drawLine(0,10,200,10);
p.fillRoundRect(20,30,30,50,5)
p.drawRoundRect(30,30,40,40,5)
p.drawRoundRect(30,40,40,50,5)
p.setFont("黑体",10)
p.drawText(50,30,100,50,"这里是可以自动换行的字符串,对齐方式和换行设置可以通过参数设置,详细用法参考_DT_开头的常量解释。",0x10/*_DT_WORDBREAK*/)
p.endPage()

//结束打印
p.end()
//释放资源
p.close()
console.pause(true);

自定义打印函数:

aardio - 【库】printer打印操作库_第3张图片

 

示例代码:

import console; 
import godking.printer
var p = godking.printer("")
p.start( "打印文档" )

p.drawText( 0,0,"这是一行文本,执行ownerDraw函数将覆盖本文本。" )

p.ownerDraw(function(w,h,wmm,hmm){
	/* 自定义绘图函数,可使用gdip绘图。绘制完成后须返回bitmap句柄。执行本函数将覆盖已存在内容。
	   参数:w:宽度(像素)、h:高度(像素)、wmm:宽度(毫米)、hmm高度(毫米) */
	import godking.paint;
	var paint = godking.paint(w,h,0xFFFFFFFF);
	paint.scale(w/wmm,h/hmm,0);
	paint.fillRect(30,30,50,50);
	paint.drawText(0,100,wmm-5,120,"这里是使用gdip绘制图片,绘制完毕后,库内部自动使用p.drawBitmap函数将返回的位图句柄绘制到打印机上。",::LOGFONT(name="宋体";h=6;color=0xFF000000;brush=null),0,0,0);
	return paint.bitmap.copyHandle();
})

p.ownerDrawDc(function(hdc,scaleX,scaleY){
	/* 自定义绘图函数,直接在打印机DC上绘图。执行本函数不会覆盖已存在内容。paint绘制完毕后必须close()。
	   参数:hdc:打印机DC、scaleX:横向缩放比例、scaleY:纵向缩放比例 */
	import godking.paint;
	var paint = godking.paint.fromHdc(hdc);
	paint.scale(scaleX,scaleY,0);
	paint.fillRect(60,30,80,50);
	paint.drawText(0,120,200,140,"这里是使用gdip直接绘制打印机DC,以前的内容不会被覆盖。如果文本过长,会自动换行处理。",::LOGFONT(name="黑体";h=6;color=0xFF000000;brush=null),0,0,0);
	paint.close();
})

p.end()
console.pause(true);

你可能感兴趣的:(aardio,库,aardio)