说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi文本和图形的打印方法

HTML文档下载 WORD文档下载 PDF文档下载
Delphi文本和图形的打印方法

一、基本知识

1、在代码单元的Uses部分增加Printers,打印实际上是把要打印的内容画到tprinter的canvas画布上。

2、选择输出的打印机:printdialog1.execute

3、选择打印控制选项 printersetupdialog1.execute;

二、打印文本

//打印Memo1中的内容

procedure TForm1.BitBtn1Click(Sender: TObject);

var

lines:integer;

prntext:text; 定义打印文本变量

begin

if printdialog1.execute then

assignprn(prntext); //将prntext文件分配给打印机

rewrite(prntext); //打开prntext文件

printer.canvas.font:=memo1.font; //设置打印对象的canvas的字体

for lines:=0 to memo1.lines.count-1 do

writeln(prntext

memo1.lines[lines]); //把Memo1的内容写到打印机对象

system.close(prntext); //关闭打印文件

end;

三、打印图形

1、利用打印机的分辨率,图形将打印在页面的左上角,图形较小。

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

if printdialog1.execute then

begin

printer.begindoc;

printer.canvas.draw(0

0

image1.picture.graphic);

printer.enddoc;

end;

end;

2、利用打印机画布canvas的stretchdraw方法

可以对图形进行更为灵活的处理。

其中要用到一个代表图形输出区域的Rect参数

Trect的类型定义如下:

TRect = record

case Integer of

0: (Left

Top

Right

Bottom: Integer);

1: (TopLeft

BottomRight: TPoint);

end;  

例:通过调整Rect的范围、图形大小及其在打印页面上的位置,实现图形打印:

procedure TForm1.Button1Click(Sender: TObject);

var strect:Trect; //定义打印输出矩形框的大小

temhi

temwd:integer;

begin

if printdialog1.execute then

begin

temhi:=image1.picture.height;

temwd:=image1.picture.width;

while (temhi<printer.pageheight div 2) and //将图形放大到打印页面的1/2 (temwd<printer.pagewidth div 2) do begin

temhi:=temhi+temhi;

temwd:=temwd+temwd;

end;

with strect do //定义图形在页面上的中心位置输出

begin

left:=(printer.pagewidth -temwd) div 2;

top:=(printer.pageheight-temhi) div 2;

right:=left+temwd;

bottom:=top+temhi;

end;

with Printer do begin

begindoc; //将放大的图形向打印机输出

canvas.stretchdraw(strect

image1.picture.graphic);

enddoc;

end;

end;

end;

Google Play将逐步移除广告拦截应用 Shapeways公司开放API 3D打印时代来临 37signal设计师眼中的iOS与Android系统 VMware/Oracle向公有云拓展生态系统 AWS“山寨”技术伙伴创意与产品,是自我完善还是杀鸡取卵? 苹果发布OS X 10.8.3 新版Boot Camp可支持Windows 8 恭喜!麻省理工两密码学教授获2012图灵奖 Rovio的逆袭,发布首款RPG游戏“克鲁德一家” 百会呼吁微软提供合法经营Office 365的相关证明 谁说Vim不是IDE?(四) RDS升级:单DB实例最高可获得3TB存储和3万IOPS 移动周报:“先验证,后开发”的App开发必杀技 Supercell首席执行官谈公司运营理念 SwiftKey:Galaxy S4输入法背后的开发团队 前IE团队领导:IE是如何走向衰败的 谷歌更新BigQuery 允许在其中加入大型数据集 初创公司Spiral Genetics:超越现有DNA序列分析平台40倍速 六大开源监测工具 你用过哪个? TUP第28期:Intel 微软 Yahoo的大数据实践 惊变14天,从“小白”到上架App Store商店 “今日头条”CEO张一鸣:我是爱冒险的技术宅 OpenStack基金会COO Mark Collier:2014年将超越AWS Evernote更新Android SDK:新增商务服务并拆分“印象笔记” 主流编译器对C++11的支持现状比较 GCC 4.8发布,提升对C++11的支持 英国政府下令首选开源软件 为何美国IaaS收购被引爆?基于IaaS的四个误解和四个猜想 Kinect SDK v1.7迎来重大更新 如何激励同事编写单元测试? 谷歌GCE vs. 亚马逊EC2:快源于谷歌本有的底蕴 不要责怪开源技术 它是无辜的 高手请回答:VB多线程互斥信号问题 用c编写bbs 多线程与clientdataset 主扳、CPU、硬盘、光驱,升级方案大比拚!!!!! 一个极菜的问题:怎么确定文档的大小? zf925(天下哪来那么多高手),你的回答我以看见了,但你的帖子贴的不全,你的原代码的例子没有, 设备管理器里面断口显示的是端口COM1和COM2,但是我的调只解调器里面的断口却是COM3和COM4,到底怎么回事呢?? :哪位大侠有多媒体方面编程的经验?请帮忙查看一下,谢谢。 DELPHI有史以来最大的难题! 二级联动菜单怎么搞啊??各位大虾救急啊!!! 请赐教 如何建立mts與com,dcom,com+通信,其中每種方式有何不同之處? 有个有关j2ee应用服务器的问题,很困惑!(急,一定给分!) 学习c和c++学要学习汇编吗????? 我先试一 下 关于得到文件的名字? 用5行代码就让系统重起的帖子怎么找不着了?谁告诉我?加分了!! 素女经 如何修改SQL数据库表中的数据 在对话框里输出文字?不要控件!!不要static 控件 一个关于打印的怪问题! 如何将数据库通过JDBC接收并将字段关键字连成一棵树(每一分支最多64节点) 救急!!!!!!!小妹我遇到一点问题! 今年就业形势“大好”! ******* 马上就给分,所以给的少了点,大家别介意 ******** 大家给点意见 请关注一个初学者的问题?我学sql但是不知未来的发展趋势!? 图形数据窗口(line 星)点太大,如何缩小 救急!!!!小妹我遇到一点问题! 用bcb制作动态网页 数据窗口 Graph 类型 line 样式 如何学c语言? Delphi中如何获的其它应用程序中的内容? 显示颜色变成只有16色和2色? DWORD 参数传递的问题。 那里有播放AVI文件的程序?谢谢! 参数传递问题!!大侠帮帮我 请帮我修改一下源代码(delphi)请帮忙改一下,让它打印了不往里(数据库)存。 BIOS设置,用电脑是不是可以当闹钟呢? 五笔输入法忽然不能用了 救就我,为什么Frame的客户区变小了?关于切分窗口 怎样查找某一个目录下一个表是否存在? 请问有用过李阳疯狂英语的朋友吗?请说说到底怎么样? 我想向各位大侠请教一个问题? 如何屏蔽TEXTBOX的回车响应? 关于《各位学习编程的目的是什么》的总结 m_pusrrcdset->m_pDatabase->ExecuteSQL("")为什么不行?老是ASSERT错误 请问我刚入bcb的大门,有什么好的参考书可以看看吗? 有没有人知道计算机等级考试四级怎么查分啊? 如何将几个数组的信息写成一个.txt文本文件 生活中有哪几种圆柱体.嗯,一共是有三种的,而且是常见的,麻烦你帮帮忙吧,我会记住你的大恩大德的. 怎么区分小麦和稻子 海子的代表诗篇?一首最著名的? 举例说说生活中哪些物体的形状是圆柱体的 一块圆柱体木块竖着切成四块,表面积增48平方厘米;横着切成三块,表面积增加50.24平方厘米;削成一个最大圆锥体,体积减少了多少立方厘米? 空气中的灰尘有哪些危害? 是圆柱体的物体有哪些?举4例 小麦和大米有什么区别?为什么? 麦子已经成熟了,真是丰收在望.这句话哪儿错了 如果一个圆柱体与一个圆锥体的底面积和体积分别相等,则圆柱体的高是圆锥体高的() 有一根圆柱体的木料,如果底面直径竖直平均分成四块,表面积增加144平方厘米.如果平均截成4个小圆柱体,表面积会增加169.56平方厘米,这根木料原来的体积是多少? 用几句花描写麦子成熟后田野的景色,要用上打比方的方法 已知i,j是是夹角60的单位向量,向量a=2i+j,b=-3i+2j,则向量a,b的夹角为? 将一个圆柱体沿上下底面的圆心切成4块,表面积增加48平方厘米,如果将圆样切成3个小圆柱体,表面积增加50.24求圆柱的表面积 有树有麦子有鸟怎么写句子 设向量a=3i-2j+4k,b=i+j-2k 在a,b决定的平面上 求一个与a垂直的单位向量 经济 发展 .help help我对中国近代经济发展历史感兴趣.(1000字——) 描写棉花成熟时的样子的语句 已知向量a=-i+2j b=-3i+4j 求 |a-b|= 假如大气中没有灰尘,强烈的阳光将使人无法睁开眼睛,这是灰尘的什么作用 灰尘的好处快些,我有急用 已知i.j是两个不共线向量,若AB=3i+2j,CB=i+入j,CD=-2i+3j,那么当实数入为何值时,A,B,D三点共线?解析:已知AB向量=3i+2j,CB向量=i+λj,CD=-2i+j,那么:向量BD=向量CD-向量CB=-2i+j - (i+λj)=-3i +(1-λ)j若A.B.D三点共 用颜色来描写下列:(嫩绿)的秧苗 ()的稻谷 ()的大豆 ()的玉米 灰尘有什么作用? i.j是两个不共线向量,已知AB向量=3i+2j,CB向量=i+λj,CD=-2i+j,若ABD三点共线,求实数λ的值. 灰尘对人类或大自然有什么好处? 灰尘有哪些作用 小麦和水稻啥区别? 在灰尘比较多的环境下工作吃什么对身体有好处 灰尘有那些好处 稻子和麦子有什么不同 在粉尘严重的环境工作,应该吃点什么比较好呢? 灰尘对我们有什么好处说全点,不要抄小学语文课本上的那个 把一个底面半径为5厘米、厚2厘米的圆柱形月饼沿直径切成4等份,表面积增加了多少平方厘米? 我的工作环境污染有点严重,吸入的粉尘多.请问吃什么食物可以排出肺内的灰尘呀. 麦子怎么组词. 把一个半径是5CM 后2CM的月饼沿直径切成四等份,表面积增加多少?(附加理由和算式) 设向量a=3i+2j, b=2i-j,求(1/3a-b)-(a-2/3b)+(2b-a)O(∩_∩)O谢谢解答3分之一a 关于麦子的好词好句 把一个底面半径为5cm,厚2cm的圆柱形月饼沿直径切成四等分,表面积增加多少平方厘米?怎么算,为什么 求一段描写冬天小麦的句子求一段描写冬天小麦的段落 雏菊什么意思 小麦和我们说的大米区别大吗 赞美秋天的诗 雏菊的含义..请问?具体一点 . 将一个圆柱体木块截成2个小圆柱体,表面积增加了100.48平方厘米,问圆柱体木块的底面半径?(岩高切的) 灰尘有什么好处快! 我知道有两个意思,一个是 纯洁 ,另一个可就不那么纯洁了哦,是雏菊的意思.那么我想问雏菊是什么意思 生活中哪些物品是圆锥体? 已知向量a=-i 3j,b=3i-3j,则a b的单位向量坐标是 有谁知道海子诗中的“麦地”,“马”,“麦子”,“大地”等各象征什么?他诗里有很多让我困惑的东东,谢谢帮忙! 已知a=3i-j-2k,b=i+2j-k,求a·b已知a=3i-j-2k,b=i+2j-k,求a·b及a×b 稻子和麦子有什么区别? 求海子诗 麦子熟了 读了几变就是不懂 ,喜欢海子的, 设a=3i-j-2k,b=i+2j-k,求 a·b及axb 一个圆柱体小木块 切成4块 表面积增加48平方厘米,横切3段表面积增加50.24平方厘米,现将它削成最大的圆锥体,体积减少多少?算式,数字的,快急 求海子经典诗句最好多点 生活中的封闭圆柱体急 已知向量i,j是互相垂直的单位向量,a=3i-4j,a+b=4i-3j(1)求向量a,b的夹角的余弦值;(2)对非零向量p,q,如果存在不为零的常熟α,β,使αp+βq=0,那么称向量p,q是线性无关的,向量a,b是线性相关还是 海子的最经典的诗句
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn