石壁居

JK的仓库,用来保存东西。
正文

如何在delphi中显示flash

(2008-08-25 11:43:28) 下一个
如何在DELPHI中显示FLASH
  
 在Flash大行其道的今天,是否想过在你的程序里也加入几幅Flash动画炫一炫呢?OK,心动不如行动,让我们现在就开始吧!    
   
  首先,你的机器里要装有Flash播放软件(你的IE能显示Flash)。IE之所以能显示Flash是安装了由Macromedia公司提供的swflash.ocx控件,我们可以在Win98的$WindowsSystemMacromed  Flash中或在Win2000中的$WinntSystem32  MacromedFlash中找到它。ActiveX控件在Windows里是通用的,Delphi也同样支持。    
   
  运行Delphi后,选择选单Component→Import   ActiveX   Control,找到SWFlash.OCX  文件进行安装。安装完成后,ActiveX面板里出现TShockwaveFlash控件,这是Delphi对SWFlash.OCX的封装,现在我们就可以用这个控件来播放Flash了。拖一个Flash过来,放在Form上,指定其Movie属性为d:test.SWF,并按F9键加以运行即可。怎么样,运行效果不错吧?下面,笔者将具体介绍TShockwaveFlash主要属性、方法和事件,以便于读者开发。    
   
  TShockwaveFlash主要属性如下:    
   
  ReadyState:读一个flash文件时的状态,其中包括0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete;  
  TotalFrames:总帧数,只有当ReadyState   =   4时才能访问该属性;  
  FrameNum:当前播放的帧;  
  Playing:播放或暂停一个flash;  
  Quality:指定当前渲染的质量,包括0=Low,   1=High、2=AutoLow、3=AutoHigh;  
  ScaleMode:缩放模式,0=ShowAll、1=   NoBorder、2   =   ExactFit;  
  AlignMode:对齐模式,Left=+1、Right=+2、Top=+4、Bottom=+8;  
  BackgroundColor:背景色,-1为默认颜色;  
  Loop:是否循环;  
  Movie:指定播放的flash文件路径,可以为一个URL。    
   
  TShockwaveFlash主要方法如下:    
   
  Play():开始播放动画;  
  Stop();停止播放动画;  
  Back();播放前一帧动画;  
  Forward():播放后一帧动画;  
  Rewind():播放第一帧动画;  
  SetZoomRect(int   left,   int   top,   int   right,   int   bottom):设置缩放的区域;  
  Zoom(int   percent):按百分比缩放;  
  Pan(int   x,   int   y,   int   mode):缩放播放面板,其中模式0为按像数、1为按窗口百分比。    
   
  TShockwaveFlash主要事件如下:    
   
  OnProgress(int   percent):读取一个flash时触发;  
  OnReadyStateChange(int   state):状态改变时触发。states的值可以为0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete。     
 
怎样将透明flash插入网页中
三个方法:
(1)"透明FLASH地址" width=900 height=535 type=application/x-shockwave-flash
wmode="transparent" quality="high"> (网络)

(2)

bgproperties="fixed">你贴子的内容
(文学)

(3)
http://vip.cn/client/fuyongjianpp/
20051231134637243.SWF" width="500" height="100" type="application/x-shockwave-
flash" quality="high" wmode="transparent" />
(青衣)

怎样将透明flash插入网页中?
(一)首先教大家最简单的插入Flash的代码,透明,无坐标控制:
注意wmode="transparent"是控制Flash是否透明显示的,如果不想让它显示为透明的,直接把wmode="transparent"去掉即可。
http://www.macromedia.com/go/getflashplayer src=http://imgfree.21cn.com/free/flash/17.swf width=500 height=360 type=application/x-shockwave-flash quality="high" wmode="transparent">
(二)再教教大家加入绝对坐标的透明Flash,绝对坐标意味着不管你的窗口拉多大,那个Flash依然乖乖地在原地不动:
http://user.hjenglish.com/yangbb/pics/snow.swf width=500 height=2000 type=application/octet-stream ;; quality="high" wmode="transparent">
效果见下面的帖子:http://www.hjbbs.com/dispbbs.asp?boardID=43&ID=193239
(三)最后教教大家如何加入相对坐标的透明Flash,注意下面代码的table部分,这主要是使用表格作为容器,把Flash"装"到表格里,这样不管浏览者把浏览器拉多大,Flash永远和表格一起动。而且,表格可以设置背景图片,表格上面再放一个透明Flash与背景图片相配合,哇塞,效果好得不得了!~
http://image.hjbbs.com/img/200410/200410259222581234.jpg border=0>


http://www.macromedia.com/go/getflashplayer src=http://user.hjenglish.com/yangbb/pics/hearts.swfwidth="100%" height="100%"
type=application/x-shockwave-flashwmode="transparent"quality="high">
很多透明FLASH哦看看有没适合你做网页用的 做网页很好用,http://www.ieboy.cn/showart.asp?art_id=115
 
怎样把透明的FLASH效果覆盖在图片上?
FLASH的背景透明主要功能不是靠FLASH本身来实现的,而是FLASH的播放器:)在网页中找到你插入FLASH的那部分的代码,你会看到类似以下内容:
http://download.macromedia.com/pub/shockwave/cabs/flashlash.cab#version=6,0,29,0" width="770" height="30">


http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="770" height="30">

其他部分我们不必在意,因为是网页编辑软件自动生成的。我们要注意的是


这部分,这部分设置了FLASH播放齐的一些参数,其中第一句设置FLASH播放文件的路径,第二帧设置了影片的播放品质(高)。我们在这里自己再写进去一句:

此句将控制FLASH在页面中无背景(透明)。当然,如果你在FLASH的最后一层放了不透明的东西那这个自然不能实现了:)
========================================================
打开 Dreamweaver MX 2004 软件新建页面,然后在页面中插入表格,并在表格里插入 Flash 文件,设置 Flash 文件的参数,制作透明背景的 Flash 。
操作步骤:
( 1 )打开 Dreamweaver MX 2004 软件新建文件,并保存页面。
( 2 )插入表格和设置背景。为使 Flash 的效果更加明显,先插入表格并设置背景图,如下图所示。
提示:可使用快捷键 Ctrl+Alt+7 打开【表格】对话框。
设置表格的背景,把表格选中,然后按下图进行设置,(提示:最好事先准备的图片和Flash的大小是相同的啊!)
( 3 )设置完背景后,可以插入 Flash 文件,如下图所示。
( 4 )接着设置 Flash 文件的参数,如下图所示。
如果你想了解更多在Flash的参数,可以浏览下面的的文章:
Dreamweaver插入Flash参数
( 5 )保存文件,完成操作。在网络上看到自己喜欢的 Flash 作品,想把它引用到自己的网站,但又不喜欢底色,就可以用本例介绍的这种方法,使它透明后再使用。
多给点分啦!!!!!!!!!!!!!!!!!!!!!!!
参考资料:http://www.verystu.com/article/40/Article_6186_1.shtml
 
怎样制作Flash
Flash影像是专为网络而创建的互动的二维矢量图形和动画。网络设计者可以使用Flash创建导航控制栏、动态标志、带有同步音频的动画、甚至完整的视觉丰富的网站。由于Flash影像属于紧凑的矢量图形,所以下载迅速,并且能够缩放,满足浏览者的屏幕尺寸。在使用Flash进行创作的时候,可以通过自己绘制或者输入作品来创建影像,在场景(场景就是用来将各个独立的帧合成到影像中,直接进行绘画,或者对输入作品进行安排的地方)上对其进行安排,利用时间轴进行动态控制。和电影一样,Flash影像也根据时间的长短分成若干帧。还可以通过令其对事件做出反应而产生互动,或按照指定方法变化。在影像完成之后,可以将其作为Flash影像输出,或嵌入HTML网页中,将影像连同网页一起上传到网络服务器上。
3.1.2 Flash时间轴、帧和图层
时间轴用来组织和控制影像不同时间不同图层和帧的内容。时间轴最重要的成分是帧、图层和播放头。时间轴窗口是进行动画播放速度调整和将作品放置到不同图层的地方,时间轴显示影像中的每一帧。
动画的创建是通过改变后续帧的内容来实现的。可以制作一个横跨场景的移动的对象,增加或减小对象大小,旋转,改变颜色,淡入淡出,或者改变形状等。所有的变化都可以单独发生也可以同其他变化一起发生。
在Flash影像中每个场景都包含有多少不等的图层。在制作动画的时候,图层的作用主要是组织序列动画的各个部分,分离动画对象,使其相互之间不致发生擦涂、连接、或者分割。如果希望Flash每次内插移动多个集合或符号,则每个集合或符号都必须处在单独的图层里。我们就是利用图层的特殊作用,制作了"电视机画中画"的演示动画:背景图层是一幅静态的电视机图像,而第二个图层中则包含有独立的动画对象,制作出在电视机四个角移动的"画中画"效果。下面举一例说明如何使用时间轴、帧和图层来制作动画。
逐行倒相对相位失真的互补动画的制作步骤:
(1) 作坐标轴,在不同层上画出代表n行信号的矢量Fn、(n+1)行信号的矢量Fn+1(用蓝色线段表示),标上角度,如图1(a)中只有Fn、Fn+1矢量的情况;
(2) 选取矢量Fn,选择插入→转化为符号→图形,将其转化成图形;同样转化Fn+1成图形;
(3) 在矢量Fn所在帧后插入一关键帧,可以看到插入后实际上是复制了前面的帧,在这里用于表示有相移n行矢量Fn′,将Fn′旋转一定的角度;
(4)双击前面的帧,弹出帧属性面板,在"过渡效果"中选择"运动",拉开两帧相隔的距离,这时可以看到中间有一条蓝色的实线。用鼠标拖动时间线,看到相隔的距离越大,旋转的速度越慢,可以根据要求调整。同样制作Fn+1顺时针偏移成有相移的(n+1)行矢量Fn+1′,如图1(b);
(5) 新建一层,Fn+1′为开始帧,按步骤3-4作出Fn+1′倒相过程,生成Fn+1′倒相回来的矢量Fn+1′′,如图1(b)中Fn、Fn+1、Fn′、Fn+1′、Fn+1′′的情况;
(6) 然后将Fn′与Fn+1′′复制到新建层中,按合成法则画出Fn′与Fn+1′′的合成矢量F合,如图1(b);
(7) 最后,错开各阶段动画时间。
3.1.3 Flash序列动画
Flash中制作序列动画的方法有两种:一帧接一帧连续变化的逐帧变化动画和内插动画。在逐帧变化动画中要制作每一帧的图像;在内插动画中,只需制作开始和结束帧的图像,中间过渡帧由Flash自动创建。逐帧变化动画对文件尺寸的增加远超过内插动画,因此我们较常使用内插动画。
内插动画对于创作运动和变形是一种非常有效的方法,同时又保持文件尺寸最小。不象逐帧变化动画那样,对于内插动画,Flash只需保存引起帧发生变化的值, 而不是整个帧。Flash可以制作两种类型的内插动画。第一种, 称之为运动内插(motiontweening),这种动画是先在一点定义实体、集合或者文本块的属性,如位置、大小、旋转,然后在另一点改变这些属性。第二种,称之为变形内插(shapetweening),先在一点绘制一个图形,然后在另一点改变这个图形或者绘制另外一个图形,Flash会在中间的帧中赋予新的值或者图形,由此创作出动画。在《电》课件中,许多演示电流、信号流向的动画就是根据这两种内插动画制作的。下面举例说明。
行输出电路充放电过程动画的制作:
(1) 在Flash中画好波形坐标轴;
(2) 用绿色线条分别画出不同阶段的充放电波形图,如图2(a)所示;
(3) 标上各时间段的t值;
(4) 制作闪烁效果来突出充放电的时间间隔,可以新建数层,按波形画上相吻合的红色波形,这样就形成一帧对象,在后一帧插入空白帧,然后复制有红色波形的那一帧,在空白帧后面拷贝该帧,至此就完成了一部分的波形闪烁效果;
(5) 同理制作各波段的闪烁效果;
(6) 在完成波形图后,开始制作电路充放电示意图。画好各对应的电路图,如图2(b);
(7) 在相应的电路中,用红色线条表示电流流向。
3.1.4 Flash高级设计
Flash有一个特殊的图层——运动导向层。运动导向层允许绘制路径,内插实体、集合或字块沿着这个路径进行动态变化。可以将多个图层链向同一个运动导向层,让多个对象沿同一路径运动。利用运动导向层,可以制作出沿着特定路线运动的动画。
互动影像在制作精彩的Flash动画时必不可少,它可以令学习者参与其中。通过使用键盘、鼠标,或者两者兼用,学习者可以跳到影像的不同部分,移动对象,输入表格信息,或者执行其它互动操作。互动影像是通过设置actions来实现的。所谓的action就是一套在特定事件发生时执行的指令。所谓能够触发action的事件就是当影像播放到了某一帧,或者当用户点击了按钮,或者按动键盘上某些键的行为,这些都称之为事件(event)。运用actions需要有一些编程经验。通过actions,可以制作出随停随放的动画效果。在按钮中加如控制信号动画播放的actions指令,在信号流经某一元件时可以停止动画的播放,使学习者能够随时在动画和文字讲解之间灵活切换。
3.2 Flash动画的输出
当使用Flash制作网络课件动画时,往往还需要一些其他的文件。如果要想在浏览器中打开Flash影像,必须要先打开一个HTML文档,而这个文档反过来启动FlashPlayer并播放影像。除了这个HTML文档外,还可以创建一个Flash影像的GIF动画版本,JPEG或GIF图像,以便没有安装FlashPlayer时显示。
Flash影像的主要文件格式是.swf。这是唯一支持Flash交互功能的文件格式。播放Flash影像有以下几种方法:1、在装有FlashPlayer的Netscape和Internet Explorer浏览器上播放。2、在带有FlashXtra的Director和Authorware上播放。3、在装有Flash Active X控制器的MicrosoftOffice和其他带有Active X的主机上播放。4、作为QuickTime影像的一部分播放。5、制作成被叫做放映机的独立的播放程序来播放。
.swf 是一种开放式的标准,可以被其他程序支持。除了 swf 格式外,还可以以各种不同格式由Flash输出影像和静止图像,包括 GIF,JPEG,PNG,BMP,QuickTime或 AVI。
4、把各种技术融合到网络多媒体课件动画制作中
4.1 PhotoShop图像处理
利用Flash的绘画功能,可以方便的制作电路图和画出信号流向。但是,由于Flash软件中,层没有叠加模式,很难将如三基色原理的相加混色之类的过程表示清楚。而图像处理软件PhotoShop就能解决这个问题。
photoShop是专业级的图像处理软件,能够绘制图形,优化图片。但是PhotoShop不能做出连续动画效果,所以我们决定将相加混色过程用PhotoShop做成几幅关键帧图像,再导入Flash中,合成比较连续的动画。
例如在制作"红光加绿光"的相加混色动画时,便是运用了PhotoShop图像处理和Flash的动画制作。其具体步骤是:
(1) 打开PhotoShop,在两层各画一个互不相交的圆,分别填充为红和绿色,如图3(a);
(2) 将上面一层的模式改为屏幕模式;
(3) 缩短两个圆的距离(为使动画连续,可做多几个关键帧),存盘;
(4) 如图3(b)所示,两圆相交时,由于两层的叠加模式为屏幕模式,故能产生相加混色效果。继续缩短两个圆的距离,做多几个关键帧,依次存盘;
(5) 打开Flash,导入刚才存盘的图片;
(6) 做一个按钮来控制动画,可选择:插入→符号→按钮;
(7) 回到场景,另开一层,将按钮拖曳到合适位置,单击右键,设置按钮属性,在动作属性中选择goto,目标帧设为两色光叠加的开始帧;同时在两色光叠加的结束帧添加stop动作;
(8) 同理,分别制作"红光加蓝光"、 "蓝光加绿光"的混色过程,注意将各叠加过程的帧位置错开,以便分别呈现混色过程。
4.2 Adobe Premiere 视频编辑软件
Adobe Premiere是一个功能强大的非线性视、音频编辑系统,AdobePremiere支持多种格式的文件。对于视频动画文件,它支持.avi、.mov、.film和.flc、.fli,并且支持.tga和.gif等文件。对于静止图象,它支持.psd、.bmp、.pic、.tif等格式。对于音频文件,它支持.wav和.aif等格式,因此可以和许多也支持这些格式的软件配合使用。
Adobe Premiere软件在视、音频处理卡的支持下,具有如下功能:对来自视、音频设备输出的动态模拟信号进行数字化处理,视、音频媒体的非线性编辑,可以配音或叠加文字和图像,对剪辑实现特技效果处理以及完成视频压缩等。
AdobePremiere提供各种精确的视频编辑工具,能产生广播级的视频文件。在制作网络多媒体课件时,我们经常要运用一些视频来演示教学内容,或者将一些静止图象制作成连续活动的动画。这时虽然也可以用Flash来制作,但制作过程复杂,要花费很长的时间,而且制作出来的动画效果并不流畅。用AdobePremiere能够把庞大的视频文件截取若干帧图象,再用Flash处理,得到令人满意的动画效果。 AdobePremiere的视频处理功能非常强大。在制作《电》课件时,我们需要使用一些视频素材,但是现有的视频素材很大,如果插入到网页中,受网络传输速度的影响,载入时间很长,故不适合网络多媒体课件。这时,用AdobePremiere对视频进行处理,去除多余的帧,提供压缩比率,在不影响教学要求下,能够大大减少视频文件的大小,使之适合网页制作。
Adobe Premiere的截图功能为我们制作《电》课件提供了更多的原始素材。在制作"电视机扫描"动画时,就是用Adobe Premiere截取视频相隔几帧的图像,再用Flash进行帧动画处理。
4.3 扫描仪和数码相机
制作《电》课件时,我们使用了大量的素材。这些素材有些是用Flash、PhotoShop等绘制出来的,比如电路图、方框图。但是,有时候我们要用到实物的图片或者较为复杂的图像,就不能用人工绘制了,而且花费时间。扫描仪和数码相机能为我们很方便的提供这些素材。如,在制作摄像管工作原理时,我们需要用一个动画说明摄像管的工作原理,而摄像管的结构图很复杂,不容易绘制。我们就用扫描仪将现成的图片扫描进电脑,再用Flash做成动画来表示电子束和电流的流向。而在制作"画中画"动画时所用的电视机画面也是用数码相机拍摄后,再用Flash处理的。
因此,在制作课件时要充分利用现有的技术和设备,提高工作效率。尤其是在收集素材方面,能够方便地得到大量逼真的素材,使制作的课件更具说服力和表现力。
5、结束语
不管采用何种工具开发网络多媒体课件动画,都必须以最形象,最直接和最准确的方式展示教学内容。在制作时,制作者首先要对用动画展示的教学内容有深刻的理解,对动画的演示过程有清晰的思路。设计动画流程时,要选择合适的软件工具,尤其要注意多种软件工具的综合利用,取长补短。这样,才能够制作出生动的教学演示动画,充分发挥网络多媒体课件的优势,提高教学效果。
参考文献:
[1] 杜兴 Flash 4.0动画网页大制作 中国石化出版社 1999年
[2] 温谦 温颜 Flash 4.0实例教程 电子工业出版社 2000年 [3] 桑新民 张倩苇 步入信息时代的学习理论与实践 中央广播电视大学出版社 2000年
[4] 李林和 电视机原理与技术 西安电子科技大学出版社 1994年
[ 打印 ]
阅读 ()评论 (0)
评论
博主已隐藏评论
博主已关闭评论