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

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;

Xamarin Evolve 2013:竭尽全力让C#服务iOS与Android 史上最全!57个Web框架4轮横向对比 回顾银行数据的可用性和一致性历史 Qubole:托管在AWS平台上的Hive服务 自由操作系统 Debian 正式发布7.0版本 4月份浏览器份额:IE 8仍居第一,IE 10翻番 亚马逊正式在华推Android应用商店 收入3:7分账 不要男孩,只允许女生参加的四所编程学校 下一波App机会在哪里? JS1K 2013优胜作品公布 3D蜜蜂仅获亚军 专访:前新浪网架构师徐佳转行卖水果背后的故事 FBI密码挑战,你能解开吗? 从0到1只需一天:Twitter后PC时代物联网“敏捷”开发之路的探索 机械生物已经面世 只少个“大脑”而已 百度正式宣布3.7亿美元收购PPS视频业务 比尔·盖茨:iPad让人失望 用户需要Surface Dropbox将于今年夏天举办有史以来的第一场开发者大会 Clustrix Sierra分布式数据库系统:云计算时代的MySQL 英特尔出杀手锏 发布低功耗、高性能Silvermont微架构 10大最实用的Raspberry Pi扩展设备推荐 主流浏览器性能测试,IE10百分百完胜! TortoiseSVN的基本操作 再见,Fireworks! 投资者告诉诺基亚CEO:他们快没耐心了 直接拿来用!最火的Android开源项目(二) 营收奇迹:三消游戏Candy Crush Saga成功启示录 马化腾对话李连杰:移动互联网的能量有多大? UC与趋势科技携手,移动浏览器加固安全 乐视发布超级电视X60 售价6999元 巨头们抢滩或已结束?EMC掀起首场SDN登录战 CloudStack创始人梁胜:让中国软件走向世界 jdk&jsdk DLL调用 asp.net无法显示web控件,也无法对web控件编程 如何将C语言(不是C++)编写的函数做成dll文件?我用的是Visual C++ 6.0!急急急! 哪里有PROJECT 2000的项目管理软件下载????? 请问如何选择测试数据? 如何将C语言编写的函数做成dll文件?我用的是Visual C++ 6.0 access2000中如何使用SQL2000中的ESCAPE? 无法为更新行集定位:一些值可能已在最后读取后改变--怎么解决 sql server ce问题 气死我了,本姑娘以后再也不来PHP版回答问题了 activeReport 问题 有没有非教育网下载visualage for java 4.0 请教:怎样记录浏览器访问过的地址? ChinaRen实在是太差了!!!!我讨厌ChinaRen!!! 偶觉得湘妹子既可以是红粉知己,也可以是居家老婆,一句话:人生何所求,得一湘妹子足矣! 怎样通过程序设置使浏览器不出现工具条和minibox,maxbox 如何修改注册表来删除ie中的查看》浏览栏按钮? 关于函数指针的问题,欢迎讨论. 还是没有解决的问题:关于VFP报表打印的问题—急急急! moden是否有物理地址 如何用Delphi或C++Builder代码实现一个程序关闭另处一个应用程序。 请各位推荐几本好一点的JAVA参考书,THANKS 这样的代码为什么不能连接SQL SERVER数据库 当二个进程运行时,几就是两次运行FTP 动画关闭窗体API的问题 什么叫串行端口,什么叫并行端口? 程序员级考试就是中级考试吧 各位高手:请问*.html和*.htm文件有何区别? 在活动目录中如何实现组的嵌套? swing窗口布局的问题 毕设还要翻译6000子科技文献,谁介绍一篇呀! 介绍几个考中级的网址来噶 CNET网站重新架构,我们的链接也要改了~~ 急,真的急 各位,有谁能告诉我怎样使得程序中每个Show的窗体都以新窗体出现在任务栏。(答对了一定加分!!!!) 能不能获得来访者的计算机名 help me!高手请看! 11号帖子,救命呀,很急,很重要! 怎样在恢复一个被删除的文件时恢复文件全名? 我急!深夜提问!大家看一看 有谁告诉我Microsoft Visual InterDev 6.0如何使用其中的站点管理 如何在Word工具条上加一个按钮 请问系统和上网的速度有关系吗 急需foxpro for win版,哪有??? 请教一下,ado.net里如何返回表里的行数? 如何在HTML页面中使用 Acrobat 的 PDF 阅读器控件 关于一个遗传算法得问题!! 请问一个TSR问题! 关于跨数据库查询的问题 请问在ListBox中可不可以将每一行字符串设置成不同的颜色? 在△abc中,∠a=50°,∠b=60°,那么与∠c相邻的一个外角等于 在三角形ABC中,D、E分别是BC和AC的中点,AD和BE相交于O点,已知三角形ABC的面积是1,求三角形BOD的面积 单价费3.5元和4.5元的两种笔共买了100只,花去410元,则4.5元的笔买了多少只? 如图,等边三角形ABC的顶点坐标分别为A(-2,0)、B(2,0),C(0,2倍根号3)(1)横坐标不变,纵坐标分别变成原来的2倍,再将所得的点用线段依次连接起来,所得的图案与原来的图案相比,有什么变化?他还 已知,△ABC和△ECD都是等边三角形,且点B,C,D在一条直线上求证:BE=AD 为了奖励进步较大的学生,某班决定购买甲,乙,丙三种笔作为奖品,其单价分别为4元,5元,6元,购买这些笔需要60元.经协商,每种笔单价下降1元,结果只花了48元,买甲种笔几支?最好讲清楚思考过程 等于几, 如图,△ABC和△ECD都是等边三角形,B C D三点共线,AD,BE交于点O,AC,BE交于点M,AD,CE交于点N?t=1292936485953求CM=CN 一个直角三角形的面积是16平方厘米,一条直角边的长是4厘米,另一条直角边的长是多少厘米? 二次函数y=-(x-1)²+3图象的顶点坐标是? 等边三角形ABC和等边三角形CDE,B,C,D在同一直线上,AD与BE交于O,(1)求角BOD的度数(2)求(2)求证三角形MNC为等边三角形 一个直角三角形的面积是16平方厘米,一个直角边长是4厘米,另一个直角边长是多少?(列横式计算) 已知二次函数y=f(x)的图像和y=-1/3x²的图像形状大小相同,且顶点坐标是(1,3),求二次函数的解析式 B,C,D,三点在一条直线上,△ABC和△ECD是等边三角形,求AD与BE相交所成的锐角的度数要详细过程 等腰直角三角形,以知两条等边,求第三边长 甲、乙、丙三人付了同样的钱买面包.甲比乙多吃5个,乙比丙多吃2个.甲拿了5元6角,应付乙、丙多少钱? 如图,三角形ABC和三角形ECD均为等边三角形,B,C,D,三点共线,AD与BE相交于O,求角BOD的度数 1元2次方程 看看系数是几 甲乙丙三种商品,购甲五件乙三件丙两件花315元,购甲一件乙三件丙四件花585元,甲乙丙各多少钱 2356除以2356又2357分之2356=?要解释求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求 二元函数的极限定义为什么两个条件是相等的 工程队修路第一天修这段路的1/4第二天修这段路的2/7第二天比第一天多修2.5千米这段路全长多少千米 甲、乙、丙三人付了同样多的钱一起买了面包.甲比乙多吃了5个,乙比丙多吃了2个,甲又拿出5元6角钱,问应付甲、乙、丙三人付了同样多的钱一起买了面包。甲比乙多吃了5个,乙比丙多吃了2个 2356在什么情况下等于24 一个直角三角形,一条直角边长6分米,是另一条直角边长的3倍,求这个直角三角形的面积?一块三角形的玻璃,底长是40分米,高是这块玻璃的面积是多少?如果1元钱可以买玻璃5平方分米,问买这块 前提条件事是:已知等边三角形ABC的顶点A的坐标为(-2根号下3,0)B,C两点再在y轴上 甲乙丙3人到一个水龙头前接水甲接10分钟乙接5分钟丙接8分钟怎样安排接水的先后顺序使3人所用的总时间最少最少时间是多少? 一个三角形一条直角边长3分米是另一条直角边长的3倍求这个直角三角形的面积 二次函数y=(x-1)²-2的顶点坐标是? 2356怎么得24 已知三角形ABC,A,B,C三点坐标分别是A(3,5),B(-4,3),c(5,-5),求三角形ABC的面积.帮帮啊 如图,已知三角形ABC的角A,角B,角C的平分线AD,BE,CF相交于O.OM垂直于BC于M.求证:角BOD=角COM帮帮忙吧... 甲用5分钟乙用4分钟丙用3分钟丁用6分钟,用1个水龙头接水,怎么安排才快?最短时间是多少?不可以并用 △ABC中,角A=100度,角b的一个外角等于120度,求角C的度数. 已知:在锐角三角形ABC中,高AD和中线BE相交于O,且角BOD=60度,求证AD=BE 用2356算24马上要一分钟都不行!要10个! 在三角形ABC中,角C的外角等于120,且角A比角B大20,求角A,角B的度数. (1)李明家5月份支出及储蓄情况统计图如下:伙食费占40%,购物占20%,水、电费占15%,储蓄占20%,其他支出占5%(1)李明家五月份的伙食费共花了1600元,他家的支出及储蓄总共是多少钱?2)购物 水 已知三角形ABC的三边a,b,c,且满足|a-b|=2a-a2-c2.判断三角形ABC的形状 如图2,∠CAB的外角等于120°,∠B等于40°,则∠ABC最长的边是 李明家六月份的总收入为2000元,支出及储存情况求百分比.伙食费800元,购买衣服400,买书100,水电 300 储存400 求百分比 如图,已知△ABC中,三条内角平分线AD,BE,CF相交于点O,OG⊥BC于点G;求证∠BOD=∠COG 设三个正数a、b、c满足(a2+b2+c2)2>2(a4+b4+c4),求证:a b c一定是某三角形三边 李明家5月份支出及储蓄情况统计图如下:伙食费占40%,购物占20%,水、电费占15%,储蓄占20%,其他支出占5%(1)李明家五月份的伙食费共花了800元,他家的支出及储蓄总共是多少钱?(2)购物 水电费 在三角形ABC中,AD,BE,CF分别是三个内角的角平分线,且相交于点O,过O点做OG垂直BC于G,求证:角BOD=角COG 在△ABC中,已知c4-2(a2+b2)c2+a4_+a2b2+b4=0求角C请将具体步骤告知 李明家5月份支出及储蓄情况统计图如下:伙食费占40%,购物占20%,水电费占15%,储蓄20%,其他支出5%.李明家储蓄总共多少元.李明家购物比水电气费多花多少元. 三角形ABC各角的平分线AD.BE.CF交于点O,作OG垂直于BC于G.求证:角BOD=角COG 一张长12厘米,宽7.5厘米的长方形纸一共可剪成多少个两条直角边分别为4分米和3分米的直角三角形? 1+1等于几 1+1等于几?为什么? △ABC的三条角平分线AD、BE、CF交与一点O,OG⊥BC于G,试说明: 一张长12分米,宽7.5分米的长方形纸最多可剪成()个直角边分别为4分米和3分米的直角三角形? A.15. B.14. C. 12 1+1等于几?为啥? 在三角形ABC中,AD,BE,CF是三角形的角平分线交于O点,OG⊥BC,求证:角BOD=角COG 在三角形ABC中,角B=40°,角C的外角等于100°,则角A=多少? 【急】 重心 :在△ABC中,中线AD与中线BE交于点O,若△BOD的面积为2,求△ABC的面积利用初二的重心的知识:在△ABC中,中线AD与中线BE交于点O,若△BOD的面积为2,求△ABC的面积 3种笔单价分别为4,5,6元按标价买,要60元,协商后每种笔单价降1元结果只花48元,那甲种笔可能买几支 在△ABC中,已知∠A的一个外角等于158°,且∠B与∠A相差100°,则∠C的度数是? 在△ABC中,中线AD、BE相交于点O,且S△BOD=5,则△ABC的面积是 ABC 三种笔单价依次为5元、4元、2元 一共买了10支,刚好花了三十元,则C型买了几只RT.能给我一些类似的题目和练习吗吗!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘