ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:27.23KB ,
资源ID:30146171      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30146171.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Flex 视频 图象处理.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Flex 视频 图象处理.docx

1、Flex 视频 图象 处理Flex采集摄像头照片-增加裁剪功能由于系统中用到的flex采集照片需要裁减功能,就把前几天搜到的Flex源码进行了修改,实现了裁减功能,不过做的比较简单,呵呵!Flex部分: Alertfont-size:12px; !CDATA import mx.events.CloseEvent; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.controls.Alert; private static const DEFAULT_CAMERA_WIDTH:Number

2、 = 320; private static const DEFAULT_CAMERA_HEIGHT:Number = 240; private static const DEFAULT_WEBSERVICE_URL:String = http:/localhost:50338/WebSite1/WebService.asmx?WSDL; /WebService地址 private var m_camera:Camera; /定义一个摄像头 private var m_localVideo:Video; /定义一个本地视频 private var m_pictureBitmapData:Bit

3、mapData /定义视频截图 public static var MoveMouseblnMove:Boolean = false; public static var blnMove:Boolean = false; Bindable private var m_pictureData:String; private function initApp():void t_btn_Shooting.enabled = false; t_ban_Save.enabled = false; initMouseEvent(); initCamera(); /初始化摄像头 private functi

4、on initCamera():void m_camera = Camera.getCamera(); if(m_camera != null) m_camera.addEventListener(StatusEvent.STATUS,_onCameraStatusHandler); m_camera.setMode(DEFAULT_CAMERA_WIDTH,DEFAULT_CAMERA_HEIGHT,30); m_localVideo = new Video(); m_localVideo.width = DEFAULT_CAMERA_WIDTH; m_localVideo.height =

5、 DEFAULT_CAMERA_HEIGHT; m_localVideo.attachCamera(m_camera); t_vd_Video.addChild(m_localVideo); else Alert.show(没有找到摄像头,是否重新查找。,提示:,Alert.OK|Alert.NO,this,_InitCamera); return; /拍照按钮事件,进行视频截图 private function SnapshotPicture():void var r: Rectangle = new Rectangle(this.t_cv_canvasResize.x, this.t_cv

6、_canvasResize.y, this.t_cv_canvasResize.width, this.t_cv_canvasResize.height); var m: Matrix = new Matrix(1, 0, 0, 1, -Math.ceil(r.x), -Math.ceil(r.y); m_pictureBitmapData = new BitmapData(Math.floor(r.width), Math.floor(r.height); m_pictureBitmapData.draw(t_vd_Video,m); var m_pictureBitmap:Bitmap =

7、 new Bitmap(m_pictureBitmapData); t_img_Picture.addChild(m_pictureBitmap); t_panel_Picture.visible = true; t_ban_Save.enabled = true; /保存按钮事件,保存视频截图 /通过WebService保存 private function SavePicture():void m_pictureData = ; for(var i:int = 0; i this.t_cv_canvasResize.width; i+) for(var j:int = 0; j 0) m_

8、pictureData += , + m_pictureBitmapData.getPixel32(i,j).toString(); else m_pictureData = m_pictureBitmapData.getPixel32(i,j).toString(); t_ws_SavePicture.SavePicture.send(); /检测摄像头权限事件 private function _onCameraStatusHandler(event:StatusEvent):void if(!m_camera.muted) t_btn_Shooting.enabled = true; e

9、lse Alert.show(无法链接到活动摄像头,是否重新检测。,提示:,Alert.OK|Alert.NO,this,_InitCamera); m_camera.removeEventListener(StatusEvent.STATUS,_onCameraStatusHandler); /当摄像头不存在,或连接不正常时重新获取 private function _InitCamera(event:CloseEvent):void if(event.detail = Alert.OK) initApp(); /WebService保存图片成功事件 private function _on

10、SavePictureResult(event:ResultEvent):void /trace(event.result); if(event.result.toString() = 保存成功) Alert.show(event.result.toString(),提示,Alert.OK,this,_onAlertCloseHandler); else Alert.show(event.result.toString(),提示,Alert.OK); /连接WebService失败事件 private function _onSavePictureFault(event:FaultEvent)

11、:void /Alert.show(event.fault.toString(),提示,Alert.OK); Alert.show(连接WebService失败。,提示,Alert.OK); /保存图片成功后的弹出窗口确认事件 private function _onAlertCloseHandler(event:CloseEvent):void if(event.detail = Alert.OK) /trace(转向页面); /添加鼠标事件监听 public function initMouseEvent() : void this.t_cv_canvasResize.addEventLi

12、stener(MouseEvent.MOUSE_DOWN, this.MoveMouseDownHandler); this.t_cv_canvasResize.addEventListener(MouseEvent.MOUSE_UP, this.MoveMouseUpHandler); this.t_cv_canvasParent.addEventListener(MouseEvent.ROLL_OUT, this.ParentMouseOverHandler); this.t_cv_canvasParent.addEventListener(MouseEvent.MOUSE_UP, thi

13、s.ParentMouseOverHandler); return; / end function public function MoveMouseDownHandler(event:MouseEvent) : void MoveMouseblnMove = true; var _loc_2:Rectangle = new Rectangle(); _loc_2.width = this.t_vd_Video.width - this.t_cv_canvasResize.width; _loc_2.height = this.t_vd_Video.height - this.t_cv_can

14、vasResize.height; this.t_cv_canvasResize.startDrag(false, _loc_2); return; / end function public function MoveMouseUpHandler(event:MouseEvent) : void this.t_cv_canvasResize.stopDrag(); MoveMouseblnMove = true; return; / end function public function ParentMouseOverHandler(event:MouseEvent) : void thi

15、s.t_cv_canvasResize.stopDrag(); blnMove = false; MoveMouseblnMove = false; return; / end function this.t_cv_canvasResize.width this.t_cv_canvasResize.height m_pictureData WebService部分: WebMethod public string SavePicture(int pic_width, int pic_height, string bitmap_data) try Bitmap m_pic = new Bitma

16、p(pic_width, pic_height); string m_tempPics = bitmap_data.Split(,); for (int i = 0; i pic_width; i+) for (int j = 0; j 24 & 0xFF); int pic_r = (int)(pic_argb 16 & 0xFF); int pic_g = (int)(pic_argb 8 & 0xFF); int pic_b = (int)(pic_argb & 0xFF); m_pic.SetPixel(i, j, Color.FromArgb(pic_a, pic_r, pic_g,

17、 pic_b); string filePath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + Photo; /判断路径是否存在,若不存在则创建路径 DirectoryInfo upDir = new DirectoryInfo(filePath); if (!upDir.Exists) upDir.Create(); /生成随机文件名 Random objRand = new Random(); DateTime date = DateTime.Now; /生成随机文件名 string saveName = date

18、.Year.ToString() + date.Month.ToString() + date.Day.ToString() + date.Hour.ToString() + date.Minute.ToString() + date.Second.ToString() + Convert.ToString(objRand.Next(99) * 97 + 100); string fileName = saveName + .jpg; m_pic.Save(filePath + fileName, ImageFormat.Jpeg); return 保存成功; catch (Exception

19、 ex) return ex.Message; flex摄像头拍照 java上传到数据库public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=UTF-8); response.setHeader(Pragma, No-cache); response.setHeader(Cache-Control, no-cache); r

20、esponse.setDateHeader(Expires, 0); String bitmap_data = request.getParameter(bitmap_data); int width = commons.getRequestInt(request.getParameter(width),0); int height = commons.getRequestInt(request.getParameter(height),0); BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT

21、_RGB); try int w = width; int h = height; int pixels = new intw * h; String m_tempPics = bitmap_data.split(,); for (int x = 0; x w; x+) for (int y = 0; y 24 & 0xFF); int r = (int) (pic_argb 16 & 0xFF); /右移16位 ,取后8位; int g = (int) (pic_argb 8 & 0xFF); int b = (int) (pic_argb & 0xFF); pixelsy * w + x

22、= new Color(r, g, b, a).getRGB(); img.setRGB(0, 0, w, h, pixels, 0, w); img.flush(); ByteArrayOutputStream bao = new ByteArrayOutputStream(); ImageIO.write(img, jpg, bao); byte data = bao.toByteArray(); Personimage user = new Personimage(); user.setFileContent(data); PersonimageDAO hm = new Personim

23、ageDAO(); hm.save(user); PersonrelationDAO prm = new PersonrelationDAO(); Personrelation pr = prm.findById(new Long(personRelationId); pr.setPersonimageid(user.getId(); pr.setImageflag(1); prm.update(pr); str.append(保存成功); catch (Exception e) e.printStackTrace(); str.append(保存失败); response.setContentType(text/xml); response.getWriter().write(str.toString(); flex视频录制import mx.events.SliderEvent;import mx.events.VideoEvent;import mx.collections.ArrayCollect

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1