解决方案 »
- delphi 中如何从数据库中读取数据自生成TreeView,只有两个字段,数据库结构如下。急急!!
- 如果生成一棵树?
- 关于变量、函数等:用全局变量、函数好 还是 成员变量、方法比较好?
- 简单的小问题
- dephi中如何设置windows的系统时间
- 哪位老大帮帮忙。。。。是Treeview的问题。。。。。。
- 使用intcpserver时的问题!!解决就结贴
- 请教问题怎么样复制数据库的表?
- 新手!!!!求教!!!DELPHI ---键盘?????
- 救命!俺的win2000变成了游戏机,怎么办?
- Delphi XE3写DLL,用Delphi7调用,报错!
- Delphi 调用C# activeX控件问题
看打印机的手册及demo程序
esc一般是 chr(27)
nL,nH要看说明,是 字符串还是二进制
var
s:string;s:=chr(27)+chr(42)+chr(m)+chr(nL)+chr(nH)+...;
把它发送到 串口或打印口,就行了m、nL、nH都是整数变量
iwigth := Image1.Picture.Bitmap.Width;
iheight := Image1.Picture.Bitmap.Height;
temp1:= Hex2Char('1B')+Hex2Char('53')+ Hex2Char('1C')+Hex2Char('71')+Hex2Char('01')+Hex2Char(inttohex((iwigth div 8),2))
+Hex2Char('00')+Hex2Char(inttohex((iheight div 8),2))+Hex2Char('00'); for j := 0 to iwigth-1 do //512
begin
for i := 0 to (iheight div 8)-1 do // 10
begin //cc.R * 0.299) + (cc.G * 0.587) + (cc.B * 0.114)
//(c.R * 0.3 + c.G * 0.59 + c.B * 0.11);
ds:=0;
for l := 0 to 7 do
begin
PixPtr:= Image1.Picture.Bitmap.ScanLine[i*8+l];
icolor:=PixPtr[j];
k:= icolor;//GetRValue(icolor)*0.3+GetGValue(icolor)*0.59+GetGValue(icolor)*0.11 ;
if k<=128 then
dd:= 1
else
dd:=0;
dd:= dd shl (7-l);
ds:=ds+dd; end; //temp2:= temp2+' '+ inttostr(icolor); m:= strtoint(FormatCurr('0',(ds))); temp1:= temp1+ char(m);
end;
end;
pig.Width;
pig.Height;
就是先获取图像数据,当然是把一张图全转成0,1,也就是白点,黑点来表示,然后把每8位转成一个十进制数
(打印时有一个要注意的就是把M置为十进制33,然后以高度24为一块进行处理,即)
for i=top to height step 24
getpicdata hdc,j,24,width
Print #HDC_Printer, Chr$(&H1B); "*"; Chr$(33); Chr$(xL); Chr$(xH);
For i = 0 To UBound(buf)
Print #HDC_Printer, Chr$(buf(i));
Next
Print #HDC_Printer, Chr$(&HA);
next