|
Flash教程:利用 Flash 8 制作摄像头拍照功能(2) 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); };
好了,现在所有问题都解决了。 ;)
|