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

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;

盘点一些iOS开发技巧:Swift和Objective-C 2014年,那些“颜值”爆表的UI动画 《近匠》爱加密:谁说iOS应用不需要保护? SwiftColorArt:开源易用的Swift图片类库 人气爆棚 干货满满 中国电信天翼开放平台开放日圆满落幕 必须Mark!43个优秀的Swift开源项目推荐 治拖延、疗懒癌!安利12款提高工作效率工具 把ES6带进Node社区 Io.js 1.0.0正式发布 Java 2014:10个最热门、最具争议性的话题 回顾:2014年最流行前端开发框架对比评测 实例讲解SQL注入攻击 调试大规模服务器集群的五大策略 .NET编译平台Rosly将迁移到Github Wasai虚拟现实头盔与体验馆发布:虚拟现实的线下经济 订票系统不再瘫痪 阿里云确认与12306合作 Apple前工程师Warren Moore:Swift中Metal使用初体验 手把手教学:详解Swift中的iOS设计模式 见微知著,那些触动人心的应用细节设计(一) 设计优秀API七大要诀 需求 细节 BI项目成功的五大要素 BI项目成功的五大要诀 最受程序员欢迎的公司榜单发布:2015 IT人才招聘趋势分析 Swift中的指针操作及使用 Android性能优化典范 专访Google涂鸦首席设计师Ryan Germick:为什么世界需要Doodle? 不炒作就会死!小米乐视生态布局的那些爱恨情仇 100个iOS开发/设计面试题汇总,你将如何作答? 王巍:关于Swift学习和Apple Watch开发的一些建议 微软发全息影像头戴装置HoloLens 体验很真实 相爱相杀?盘点迎新年的移动互联网撕逼大战 HealthKit开发教程:用Swift编写个健康应用! 求教:在asp.net中能不能实现类似于javaApplet的功能,怎么实现 谁手上有地域情人的《三句话搞定QQ菜单》,能发一份给我吗?在线等待 Delphi 中怎样设置、取消 注释块?找到以前但是打不开,这个该死的CSDN!!! access数据库的数据要放入sql数据库,代码怎么写? 安装声卡的驱动alsa,make后,出现Need by“hwdep.o”stop.请问这是怎么会事?! 这样给二维指针分配内存可以吗?? 请问如何实现win2k server和DOS机之间的通讯 请微软专家、思归、江雨.net,spring.z进来!请问如何在winform模式下调用Web Service?想实现相当于asp下的XMLHTTP的功能!十万火急!!! 我的显示有问题,大家帮忙看一下好吗? 统计,大家都用哪里的php收费空间? 请教JTree中怎么任意设置TreeNode的图标? 在堆栈上分配结构与用new分配结构有何区别 是否可以对datareport中添加的控件编程呢 三层中数据返回的问题 在vb.net里有什么简便的办法可以处理所有控件的keydown消息? 菜鸟问题 在线等 Page.Response.Write("<img height=13 src='images\deleteTrue.gif' width=13 align=middle>");出错 我想买一款数码像机!!! 动态连接excel表的问题 用什么方法可以实现我计算的数字,只有两位小数,谢谢!! 知道26号放假!高兴!!放分!! 问个瓜问题 推荐几个好的编程论坛(中文的),不看的后悔呀!请不要移贴或删除! 关于脚本与代码的通信问题。。。 用WiseInstall作安装程序,怎么让可执行程序自动识别专用的文件,即点击专用文件即可用对应执行程序打开 在POWERDESIGN中将数据库设计倒入WORD报表的中文乱码问题 访问数据库时遇到的问题 如何把Excel的图表另存为图形文件?? 紧急求救!!(关于调用exe的问题) 关于动态删除记录的问题,大侠指点!!! 请问如何把用户上传的文件(所有)都保存在sql里面? 在POWERDESIGN中将数据库设计倒入WORD报表的中文乱码问题 时间设置 年关已到,谁有工作总结的模扳,给小弟发一份。 今天女朋友回家,放分,终于可以自由几天了,头一次放分,只有这么多了 生气!我真的很生气!现在的人怎么都这样? to shibichen(务必请近来一下) 在VC中怎么写关于猫的AT命令的程序?最好又程序。分数不过另外给 问一个傻傻的问题 帮帮忙,我送什莫礼物给女朋友好呢? 如何将选择出的内容存入文本文件??? Delphi中数据库操作Filter的原理,他和SQL语句查询输出的结果有什么不同? 在EXCEL中如何实现分两上SHEET打印!? 帮帮忙,我送什莫礼物给女朋友好呢? 几个linux下典型的应用问题,,高手新手都请进 ;-) 有关IE的奇怪问题 困扰很久的问题了:conn.execute为什么有是不能执行? 请问当一个页面中某个frame包含的网页不断重复刷新的时候怎么不让IE下面的刷新条滚动? 为什么局域网内看不到网站,而在广域网内却可以看到网站! 哪位用过这个控件的3DES,SHA1算法?我调不出来,急~~~~~:( delphi中类似于On Error GoTo的语句是什么 周丽淇玩游戏显平胸 内地拍戏钱多可在宝贝千姿百态睡姿萌照大盘点陈豪被记者问结婚问题很紧张 不停擦汗张静初赞华仔是好父亲 另一半要找话少邓超携子游玩戴墨镜扮酷台星马国毕欠千万赌债致离婚 谈债务流钟丽缇暗讽郭富城分手:我知道他换鞋了赵薇现身嫣然晚宴 身形变胖被批像“中《小时代》“hold住姐”裸戏曝光 林更新搞怪PS肥胖照 网友调侃帅胖子台湾艺人大陆拍剧享受天价 返台片酬大孙俪捧场邓超新片 影院合影显恩爱蔡少芬伍咏薇素颜看《金枝》 监制再炮前棒棒堂成员小马外遇 妻子翻越阳台跳林志玲露深沟耸肩扮嫩 落座时显尴尬迷奸案女星吴亚馨露面 不随便承诺嫁豪女星低胸高开衩走红毯 频撩裙被疑故意陈冠希前女友黄榕秀深沟:我是模特不是AV女优小泽玛利亚戴口罩捞金 热裤秀林志颖遭围观心情好 保镖开镭射灯防记孙俪挺大肚拍电视剧 演哭戏靠滴眼药水大学生拍微电影记录环卫工一天舒适与操控兼顾名医问诊贴上保健标签 凉席身价倍增建设可深呼吸的水墨丹青城国产智能手机销量占国际市场份额三分之长沙少儿模特艺术大赛颁奖货币基金总规模接近1.6万亿长沙市物业维修资金有奖知识竞赛请你点题“激情岳麓”社区文体节启幕上半年出口300多万美元与父亲时空对话“很震撼”12周年庆 湖南国美低价倾城新股飞天舞 股民当看客消费者买车至少能省一万多元黄浦江畔奏响恢宏的《自新大陆》7月车市袭来“绿风暴”棉麻布衣伴夏日送油卡,全市最低价秒杀《四大湘女图》百万起拍
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘