如何拷贝Canvas上的一区域到另一个区域。 程序中使用了一种特殊的字体,现在想将在CANVAS上用TEXTOUT输出的字的某一区域复制到另一个区域中,并且在另一区域居中填充! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般情况下对canvas操作,最常用的是BitBlt函数(WinApi)。这个函数一定要知道的。这个函数你看看帮助就可以了。就可以完成区域的复制功能。至于你说的并且在另外一区域中居中填充,没用搞明白意思。呵呵。 我现在写了如下语句,但打印出来却什么也没有。BitBlt(printer.Canvas.Handle,0,0,iWidth,iHeight div 2,image1.Canvas.Handle,0,iHeight div 2,SRCCOPY ); 但在image之间拷贝就可以在目标上看到有图像。语句如下:BitBlt(image2.Canvas.Handle,0,0,iWidth,iHeight div 2+1,image1.Canvas.Handle,0,iHeight div 2,srccopy); ACanvas.CopyRect(rect(0, 0, 100, 100), m_BitMap.Canvas, rect(0, 0, 100, 100)); 我现在是如下的语句printer.Canvas.CopyRect(rect(0,0,iWidth,iHeight),Image1.Canvas,rect(0,0,iWidth,iHeight));但还是不行 一个载程序中添加打印机的问题。 TfrReport的打印预览 大家一般在什么情况下用指针? Delphi7光盘自带的InstallShield好用吗? 提问!!学习中,定结贴! 如何判断文件被独占? 有那位知道excel的列之间的分隔符是什么吗?急!!! 请教用Ado对SQL Server的数据库进行备份和恢复的问题 请叫一个问题:怎么用ADO联数据库啊(ADO我一点不懂)我照着书做也好不行啊 我又有问题请高手帮我解决,一个小问题,50分相送,决不食言! Delphi中十六进制的数怎么表示? 关于时间计算的问题?求解!
这个函数你看看帮助就可以了。就可以完成区域的复制功能。
至于你说的并且在另外一区域中居中填充,没用搞明白意思。呵呵。
BitBlt(printer.Canvas.Handle,0,0,iWidth,iHeight div 2,image1.Canvas.Handle,0,iHeight div 2,SRCCOPY );
BitBlt(image2.Canvas.Handle,0,0,iWidth,iHeight div 2+1,image1.Canvas.Handle,0,iHeight div 2,srccopy);
printer.Canvas.CopyRect(rect(0,0,iWidth,iHeight),Image1.Canvas,rect(0,0,iWidth,iHeight));
但还是不行