请教BCB6的RectCopy()函数.
时间:2011-12-01
来源:互联网
用BCB6写一个类似标签打印的程序,即把一张纸划分成几部分,每部分上打印相同内容。
首先想到的是RectCopy(), 结果发现如果目标是打印机的Canvas, 就什么也打不出来.
我试用《C++Builder精彩编程实例集锦》一书中, 实例134如何打印图像文件, 确实什么也打不出来.
实例134源程序中Rect设置有小错误, 我已经改正了. 改过的源程序如下:
Printer()->BeginDoc(); //开始打印
int PHeight=Printer()->PageHeight; //打印纸的Height
int PWidth=Printer()->PageWidth; //打印纸的Width
CenterX=PWidth/2;
CenterY=PHeight/2;
SDiv=2;//放大2倍打印
X1=CenterX-(PWidth/(SDiv*2));
Y1=CenterY-(PHeight/(SDiv*2));
X2=CenterX+(PWidth/(SDiv*2));
Y2=CenterY+(PHeight/(SDiv*2));
PrnRect=Rect(X1,Y1,X2,Y2); //打印纸的Rect
ImgRect=Rect(0,0,Image1->Width,Image1->Height); //屏幕的Rect
Printer()->Canvas->CopyRect(PrnRect,Form1->Canvas,ImgRect); //这一句似乎完全不起作用
Printer()->EndDoc(); //结束打印
谁能帮帮我啊? 先谢谢各位了!
作者: descriptor 发布时间: 2011-12-01
作者: zzbinfo 发布时间: 2011-12-01
作者: cankoo 发布时间: 2011-12-01
可是改为Image1->Canvas以后运行时出错
Can only modify an image if it contains a bitmap.
作者: descriptor 发布时间: 2011-12-01
作者: ccrun 发布时间: 2011-12-01
如果image1内放的是.BMP文件, 结果正确.
如果是.JPG文件, 运行时出错.
可是我必须处理.JPG文件, 有什么好办法吗?
作者: descriptor 发布时间: 2011-12-01
可是我必须处理.JPG文件, 有什么好办法吗?
很简单,如果载入的是jpg文件,用TBitmap对象Assign一下,然后再动态赋给Image就行了。
作者: ccrun 发布时间: 2011-12-01
作者: zwd183335 发布时间: 2011-12-01
作者: descriptor 发布时间: 2011-12-01
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28