开店乐

开店乐电子商务研究 KaiDianLe.Com

网站地图 :

  搜索:

Flash 8 摄像头拍照

几天帮朋友做一个东西用到的 code 。
因为很久不做 Flash coding 了。所以也就很少关心 Flash 8 的新的 Class。但听大家说过有这个功能。本想从网上找段教程或 code 来做。可是发现国内还没有类似的。就只能自己动手丰衣足食了。

开始做法:
第一步:在库中建立一个视频元件,类型选择:视频(受 ActionScript 控制)。
第二步:将视频元件拖到场景中,并调整尺寸到想要的大小。并起名为“my_video”
第三步:在时间轴中粘入下边的 code。
【来自:开店乐KaiDianLe.Com

var my_video:Video;
my_video._x=100;
my_video._y=40;
var my_cam:Camera = Camera.get();
my_cam.setMode(180, 140, 10, true);
my_video.attachVideo(my_cam);

shutter.onRelease = function() {
    myBitmap = new flash.display.BitmapData(180, 240, true, 0);
    myBitmap.draw(my_video);
    var tempObj = _root.createEmptyMovieClip("photo", 100);
    tempObj._x = 300;
    tempObj._y = 40;
    tempObj.attachBitmap(myBitmap, 1, "always", true);
};

Testing 发现有问题,拍出来照片只有 160x120 的区域有图像。并且图像变形了。 :eek:
什么地方出了问题呢?@#$%^&* (此处省略2小时 debug 时间……)
最后发现 my_video 复制到场景中调整大小时并不是改变 my_video.width 及 my_video.height 属性,而是改变 my_video._width 及 my_video._height 属性。原有视频元件的尺寸只有 160x120 。这就相当于将 my_video 作了形变。而 BitmapData.draw() 是不会考虑源元件的形变的。用官方的说法是:
引用: 源 MovieClip 对象不对此调用使用其任何舞台中转换。该源 MovieClip 对象会被视为存在于库或文件中,没有矩阵转换、没有颜色转换,也没有混合模式。如果您希望通过使用影片剪辑自身的 transform 属性来绘制影片剪辑,则可以使用它的 Transform 对象来传递各种 transformation 属性。
我开始没注意他给出的解决办法。我想既然 draw() 不考虑源元件的形变,那只能自己在输出的照片元件上想办法做形变了。于是有了这段 code。

var my_video:Video;
my_video._x=100;
my_video._y=40;
var my_cam:Camera = Camera.get();
my_cam.setMode(180, 140, 10, true);
my_video.attachVideo(my_cam);

shutter.onRelease = function() {
    myBitmap = new flash.display.BitmapData(160, 120, true, 0);
    myBitmap.draw(my_video);
    var tempObj = _root.createEmptyMovieClip("photo", 100);
    tempObj._x = 300;
    tempObj._y = 40;
    tempObj._width= 180;
    tempObj._height = 240;
    tempObj.attachBitmap(myBitmap, 1, "always", true);
};

这下照片是想要的大小了,而且图像也没有了变形。但发现图像没有摄像头显示的清晰。
想了一下,那是当然,draw() 不考虑源元件的形变,draw时my_video 被当作 160x120 来draw了。 :mad:
那能不能通过改变 my_video.width 及 my_video.height 属性来改变 my_video 的尺寸而不是将 my_video 作形变呢?不能!!!my_video.width 及 my_video.height 属性是只读属性。

解决方法:
第一步:用视频编辑软件制作一个 180x240 尺寸的1贞的白色 mov 视频文件。
第二步:用 Macromedia Flash 8 Video Encoder 将mov视频文件转为 flv 视频文件。
第三步:在库中建立一个视频元件,类型选择:嵌入(与时间轴同步)。
第四步:将视频元件拖到场景中,并起名为“my_video”
Testing 发现 my_video.width 及 my_video.height 属性为 180x120 。阿哈 :cool:
第五步:在时间轴中粘入下边的 code 。

var my_video:Video;
my_video.clear()
my_video._x=100;
my_video._y=40;
var my_cam:Camera = Camera.get();
my_cam.setMode(180, 140, 10, true);
my_video.attachVideo(my_cam);

shutter.onRelease = function() {
    myBitmap = new flash.display.BitmapData(160, 120, true, 0);
    myBitmap.draw(my_video);
    var tempObj = _root.createEmptyMovieClip("photo", 100);
    tempObj._x = 300;
    tempObj._y = 40;
    tempObj._width= 180;
    tempObj._height = 240;
    tempObj.attachBitmap(myBitmap, 1, "always", true);
};

好了,现在所有问题都解决了。 ;)

【日期:2006-4-16】【作者:开店了】【转载自:http://www.kaidianle.com】

相关文章:
 最好的网上开店系统:凡人网络购物系统免费下载
 Flash 实例制作教程
 5.探照灯效果制作之一
 4.电影文字的制作
 3.动感球体
 2.线框文字的制作
 1.荧光文字的制作
 flash 制作图片渐变
 一步一步学FLASH动画制作
 鱼戏莲叶间
 绚丽烟雾效果
 伸缩下拉菜单
 火焰的源代码
 下雨效果
 文字环绕鼠标跟踪效果
 图片转化广告代码
 鼠标控制星星效果源代码
 闪烁的星星效果
 导航条效果代码
 彩色点跟踪鼠标效果1
 彩色点跟踪鼠标效果
 鼠标跟随
 闪光效果
 鼠标控制星星动画
 激光字效果
 用FLASH制作抢手棋
 用FLASH制作抢手棋(2)
 用FLASH制作抢手棋(3)
 用FLASH制作抢手棋(4)
 谈谈模拟足球游戏中人工智能2
 谈谈模拟足球游戏中人工智能
 Flash游戏制作--打飞碟2
 Flash游戏制作--打飞碟 1
 Flash游戏制作--五子连珠(一)
 Flash游戏制作--五子连珠(二
 Flash游戏制作--五子连珠(三)
 FLASH+JAVA开发实时网络游戏
 纯AS的Loading效果四例
 Array.sortOn用法
 人物造型
 如何在powerpoint中使用高版本的swf文件
 让SWF文件不显示在IE缓存中
 传统动画 与 FLASH动画
 动画场景的构意
 专用Flash网站制作工具A4Desk技巧拾零
 Flash AS基础教程:土人AS入门教程实战篇
 中秋寄相思 自制Flash贺卡
 flash文字跳动
 FLASH8.0绘制百事可乐标志
 小孩走路教程
 Flash MX 2004 编程(AS2.0)教程(十四)
 Flash MX 2004 编程(AS2.0)教程(十三)
 Flash MX 2004 编程(AS2.0)教程(十二)
 Flash MX 2004 编程(AS2.0)教程(十一)
 Flash MX 2004 编程(AS2.0)教程(十)
 Flash MX 2004 编程(AS2.0)教程(九)
 Flash MX 2004 编程(AS2.0)教程(八)
 Flash MX 2004 编程(AS2.0)教程(七)
 Flash MX 2004 编程(AS2.0)教程(六)
 Flash MX 2004 编程(AS2.0)教程(五)
 Flash MX 2004 编程(AS2.0)教程(四)
 Flash MX 2004 编程(AS2.0)教程(三)
 Flash MX 2004 编程(AS2.0)教程(二
 Flash MX 2004 编程(AS2.0)教程(一)
 让手机也“闪”起来!Flash Lite2新功能介绍
 FLASH菜单链接动态管理
 FLASH打造LRC歌词播放器
 Accordion组件的使用实例
 Flash8滤镜代码提示的小窍门
 Flash ActionScript 3 新特性与变化
 最常用的Flash语句(汇集)
 如何修改受保护的Flash文件
 Flash的完美情人--飘雪Flash播放器
 Fireworks 8 新功能总结
 圣诞贺卡的制作[FLASH版]
 FLASH简单三步制作飞越星空效果
 Flash 8 摄像头拍照
 Flash Cookies[2] 数值
 更加简单的Loading制作方法
 按键监测组件(格斗游戏用)
 FLASH MV《老鼠爱大米》制作潜析
 用FlashMX制作“登录界面”
 将AutoCAD导入Flash
 Flash 实现3D的类
 个性化FLASH鼠标右键内容
 环境设置——背景设定(图)
 环境设置——背景设定(图)
 创建一个Flash站点的十大技巧
 Photoshop CS2无限图层蒙版
 Photoshop CS2 降噪滤镜试用体验
 快速获取Flash课件中的素材
 FLASH:韩国导航条解析
 FLASH:韩国导航条解析
 FlashMX课件中的拖动
 二合一按钮的制作
 使用Flash MX的3个小技巧
 Flash课件一网打尽
 Flash Player 7 安全策略解析
 FlashMX特效之扩散与挤压
 Flash使用技巧--用Flash制作拖拉式菜单
 Flash使用技巧--用Flash制作转动的地球仪

版权所有:Kaidianle.Com  联系方式:Shnxn@Yhaoo.Com.Cn 京ICP备06028743号 在线留言