技巧:Flash中的打印控制

打印|技巧|控制

这个估计很多人没有关心过。但是很有用。我贴上来吧。

Flash中负责打印的类是 PrintJob

首先了解它一下

属性:

orientation:String [只读] 图像的打印方向。图像的打印方向。此属性可以为 "landscape" 或 "portrait"。请注意,只有在调用 PrintJob.start() 方法后,此属性才可用。
pageHeight:Number [只读] 页面上实际可打印区域的高度(以磅为单位)。
pageWidth:Number [只读] 页面上实际可打印区域的宽度(以磅为单位)。
paperHeight:Number [只读] 纸张总高度(以磅为单位)。
paperWidth:Number [只读] 纸张总宽度(以磅为单位)。

用法:

addPage(target:Object, [printArea:Object], [options:Object], [frameNum:Number]) : Boolean
target:Object - 一个数字或字符串;要打印的影片剪辑的级别或实例名称。传递一个数字来指定级别(例如,0 表示 _root 影片)或传递一个字符串(括在引号中 [""])来指定影片剪辑的实例名称。

printArea:Object [可选]
一个对象,它指定要打印的区域,采用以下格式: 

程序代码:
{xMin:topLeft, xMax:topRight, yMin:bottomLeft, yMax:bottomRight}

为 printArea 指定的坐标表示屏幕像素,这些屏幕像素相对于 _root 影片剪辑(如果 target = 0)的注册点或由 target 指定的级别或影片剪辑的注册点。您必须提供所有四个坐标。宽度 (xMax-xMin) 和高度 (yMax-yMin) 必须均大于 0。  

磅是打印度量单位,像素是屏幕度量单位;磅的实际大小是固定的(1/72 英寸),但是像素的大小取决于特定屏幕的分辨率。您可以使用以下换算公式将英寸或厘米转换为缇或磅(1 缇为 1/20 磅): 

1 磅 = 1/72 英寸 = 20 缇 
1 英寸 = 72 磅 = 1440 缇 
1 厘米 = 567 缇 
您无法可靠地在像素和磅之间转换;转换比率取决于屏幕及其分辨率。例如,如果屏幕设置为每英寸显示 72 个像素,则一磅等于一个像素。 

注意:如果以前曾使用 print()、printAsBitmap()、printAsBitmapNum() 或 printNum() 从 Flash 进行打印,则可能使用过 #b 帧标签来指定要打印的区域。当使用 addPage() 方法时,您必须使用 printArea 参数来指定打印区域;#b 帧标签将被忽略。

如果省略了 printArea 参数或错误地传递了该参数,则将打印 target 的整个舞台区域。如果您不希望指定 printArea 的值,但希望指定 options 或 frameNumber 的值,请为 printArea 传递 null。

options:Object [可选]
一个参数,它指定打印为矢量还是打印为位图,采用以下格式: 

{printAsBitmap:Boolean}

默认值为 false,表示请求矢量打印。若要将 target 打印为位图,请为 printAsBitmap 传递 true。当确定要使用的值时,请记住以下建议:

如果要打印的内容包括位图图像,请使用 {printAsBitmap:true} 以包括任何透明度和色彩效果。 
如果内容不包括位图图像,请省略此参数或者使用 {printAsBitmap:false} 以较高品质的矢量格式打印内容。 
如果省略或错误传递了 options,则使用矢量打印。如果您不希望指定 options 的值,但希望指定 frameNumber 的值,请为 options 传递 null。

frameNum:Number [可选]
一个数字,用于指定要打印的帧;传递 frameNumber 不会导致调用该帧上的 ActionScript。如果省略此参数,则打印 target 中的当前帧。 

注意:如果以前曾使用 print()、printAsBitmap()、printAsBitmapNum() 或 printNum() 从 Flash 进行打印,则可能在多个帧上使用过 #p 帧标签以指定要打印哪些页。若要使用 PrintJob.addPage() 打印多个帧,必须对每个帧发出 PrintJob.addPage() 命令;#p 帧标签将被忽略。有关以编程方式执行此操作的方法,请参见"示例"部分。 

返回
Boolean - 一个布尔值:如果页成功发送到打印后台处理程序,则返回 true;否则返回 false。

send() : Void
用在 PrintJob.start() 和 PrintJob.addPage() 方法之后,将经过后台处理的页发送到打印机。

start() : Boolean
显示操作系统的打印对话框并开始进行后台处理

PrintJob 构造函数
var my_pj:PrintJob = new PrintJob();

范例1:

CODE:
//pt2_mc 为影片剪辑名称
var my_pj:PrintJob = new PrintJob();
var myResult:Boolean = my_pj.start();
if (myResult) {
    my_pj.addPage(pt2_mc);
    my_pj.send();
} else {
    trace("没有进行打印或打印失败");
}
delete my_pj;

范例2:

CODE:
//pt2_mc 为影片剪辑名称
//打印结果为三页
var my_pj:PrintJob = new PrintJob(); //构造函数
if (my_pj.start()) {
    var pagesToPrint:Number = 0;
    if (my_pj.addPage(pt2_mc)) {
        pagesToPrint++;
    }
    if (my_pj.addPage(pt_mc)) {
        pagesToPrint++;
    }
    if (my_pj.addPage(pt_mc)) {
        pagesToPrint++;
    }
    if (pagesToPrint>0) {
        my_pj.send();
    }
}
delete my_pj;

时间: 2024-09-10 09:48:44

技巧:Flash中的打印控制的相关文章

Flash中一个按钮控制播放和停止的2种算法

按钮|控制|算法 第一种ps=0;//初始化ps,有些算法要用到.  //循环算法-1  on (release) {  i++;  if (i == 1) {  play();  } else {  stop();  }  if (i>=2) { //当i=2时,让i=0,i就在1-0之间循环  i = 0;  }  }第二种on (release) {  if (!ps) { //非算法,非真等于假,非假等于真  stop();  ps = true;//或者ps=1;因为算法里1代表真0代

Flash动态色彩偏转控制技巧

动态|技巧|控制 请先看一个 flash 的色彩演示: 我们在Flash的制作中,往往需要对色彩进行控制,以使我们的动画影片更多彩多姿.那么,在Flash中到底有多少方法可以来控制色彩呢?答案有二个: ① 直接赋值或者取回数值于对象,数值为标准RGB格式: SetRGB(R,G,B);// R,G,B 为小于255,大于0 的整数 GetRGB(R,G,B); ② 将对象的色彩值赋值进行偏转,或者取回物件色彩已经偏转的色彩值. SetTransform(change_color); GetTra

Flash中的鼠标绘画技巧

技巧|鼠标 开场白:看着网上那么多缤纷多彩的Flash,相信很多朋友都有想自己亲手制作动画片的愿望.但我们中的大多数人并没有学过绘画,总是有很多的想法却无法用自己的画笔表达出来.还有一些朋友虽然有点绘画功底,但苦于没有扫描仪.手绘板等等专业工具,总不能得心应手.其实只要您有一只不错的鼠标,利用好Flash中自带的绘画工具,还有仔细阅读完本文,再加上细心与耐心,即使没有受过专业绘画训练,您也一样可以制作出很漂亮的动漫画效果. 本文主要讲述了如何使用鼠标绘制人的面部,包括脸形塑造.眼睛的绘制.嘴的塑

Flash中的电影艺术之镜头技巧教程

技巧|教程 文章内容摘自<Flash动画与卡通制作创意导航>([美]Ibis Fernanadez著 罗小燕译 清华大学出版社) ,有改动,实例作品为若无说明为qhwa原创. 对于许多动画制作者来说,通过Flash获得电影般的效果十分困难,这样他们就不得不满足于非常规的处理方法或者静态画面,而这样又影响了他们的制作.只会说话的头十分枯燥,而且有时仅仅画出角色正确的动作和姿态是远远不够的. 电影艺术融化了摄影,舞蹈动作设计和影视编辑技术,其中影视编辑技术对于成功制作卡通动画来说起主导作用.通常,

Flash中像素字体使用技巧

技巧 制作商业Flash动画的朋友相信对于象素字体一定不陌生.它又小又酷,非常漂亮,受大多数设计师的欢迎.目前像在全国非常有名的04系列字体(图-1) (图-1) 04系列字体的官方网站:http://www.04.jp.org/ 大家可以到这里面去下载所有的04系列字体. 对于04系列字体,Flash的支持并不完善.不仅对于04系列,对于其他各种类型的字体支持都不是那么完善,因为Flash是一个矢量动画软件.他可以很好的解决图像因为放大或缩小所造成的失真问题,但对于由单个象素构成的图形支持不好

技巧总结:Flash中一些常用的代码

技巧 昨天有朋友在MSN上问我如何实现一打开网页,就让SWF文件全屏的效果,我记得以前好像曾经在坛子里发过这样的贴子,没去找,呵呵,没时间啊~~现在整理了一下关于这方面的资料,以供各位各取所需 第一种方法:不显示浏览器菜单栏.工具栏的全屏.这种全屏稍稍复杂,也与FLASH的设置无关,但要借 助JavaScript来完成.方法是:在HTML文件中<head></head>间加入以下代码: <script language="JavaScript"> 

在Flash中使用位图的技巧

技巧 现在很多教师喜欢用Flash制作课件,而图形是制作过程中必不可少的元素.我们一般直接使用导入的位图,但在使用过程中却忽视了许多问题.因为毕竟Flash是一种基于矢量的图形软件,处理位图并不是它的强项,滥用位图很有可能给你的文件带来隐患.如文件的增大.运行时位图出现错位.抖动等情况.所以在使用位图时有必要掌握一些使用位图的方法和技巧,以消除隐患. 1.在导入之前应该先用其他的图形编辑软件对准备导入到Flash中的位图进行编辑(也可以用Flash对其进行编辑,编辑好后导出为图像,再重新导入到项

Flash中变色背景的实现技巧

技巧 效果简介: 本例巧妙地运用Flash中颜色对象.帧与标签的跳转技巧以及函数的创建方法.本例的效果演示也很有意思:只要轻轻滑一下鼠标,动画的背景就变了色:如果跳转到变色背景的点击模式下,就可以点击鼠标改变背景的颜色了.好了,下面就让我们动手设计吧. 演示效果: 点击这里下载源文件 1.打开打开Flash MX 2004,如图1所示新建一个Flash文档.按快捷键Ctrl+F3打开"属性"面板,如图2所示单击"文档属性"按钮打开"文档属性"面板

Excel中只打印图表以外内容的技巧

当需要打印Excel图表时,可以直接选中图表,然后使用"文件|打印"命令进行打印,也可以直接单击工具栏中的"打印"按钮.而如果不想打印图表,只想打印图表以外的其它区域,则可以选中这些区域,然后使用"文件|打印"命令打开"打印"对话框,在"打印内容"下面选中单选框"选中区域",再单击"确定"进行打印. 这是比较简单的情况,当工作表比较庞大,而图表以外的数据区域又不相邻时