婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Flex實現的上傳攝像頭拍照并將UI保存為圖片

Flex實現的上傳攝像頭拍照并將UI保存為圖片

熱門標簽:南昌crm外呼系統如何 車載電話機器人 什么行業需要電話機器人 中山外呼系統中間件 天津企業外呼系統代理商 地圖標注多家店 外呼系統號碼顯示 廣州ai外呼系統業務 無錫電銷外呼系統代理
flex客戶端代碼:
復制代碼 代碼如下:

?xml version="1.0" encoding="utf-8"?>
s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)">
fx:Script>
![CDATA[
import mx.controls.Alert;
import mx.core.UIComponent;
import mx.events.FlexEvent;
import mx.graphics.codec.JPEGEncoder;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.UIDUtil;

protected function application1_creationCompleteHandler(event:FlexEvent):void
{
initCamera(videoDis);
}

//初始化Camera控件,并添加在VideoDisplay
public function initCamera(videoDis:UIComponent):void
{
var myCamera:Camera = Camera.getCamera();//獲取客戶端攝像頭
myCamera.setMode(500,500,30);

var myVideo:Video = new Video(500,500);
myVideo.attachCamera(myCamera);//獲取攝像頭的視頻流

videoDis.addChild(myVideo);
}

//將可視的UIComponent組件轉換為圖片
public function UItoBitmap(source:UIComponent,target:UIComponent):void
{
var width :int = source.width;
var height :int = source.height;
var bitmapData:BitmapData =new BitmapData(width,height);
bitmapData.draw(source,new Matrix());

var bitmap:Bitmap=new Bitmap(bitmapData);

var uic:UIComponent = new UIComponent();
uic.addChild(bitmap);
target.addChild(uic);
}


//將可視的UIComponent組件保存為本地圖片
public function UISaveAsImg(imgID:UIComponent):void
{
var width :int = imgID.width;
var height :int = imgID.height;
var bitmapData:BitmapData =new BitmapData(width,height);
bitmapData.draw(imgID);

var byteArr:ByteArray = bitmapData.getPixels(new Rectangle(0,0,width,height));
var byteArr123:ByteArray =new JPEGEncoder().encodeByteArray(byteArr,width,height);

var fileRefer:FileReference = new FileReference();
fileRefer.save(byteArr123,UIDUtil.createUID()+".png");
fileRefer.addEventListener(Event.COMPLETE,function completeHandler():void{
Alert.show("保存本地成功");
});
}


//照片上傳到服務器
protected function upLoadImg(imgID:UIComponent):void
{
var width :int = imgID.width;
var height :int = imgID.height;
var bitmapData:BitmapData =new BitmapData(width,height);
bitmapData.draw(imgID);

var byteArr:ByteArray = bitmapData.getPixels(new Rectangle(0,0,width,height));
var byteArr123:ByteArray =new JPEGEncoder().encodeByteArray(byteArr,width,height);

webService.UploadFile(byteArr123,"123.png");
}


protected function webService_faultHandler(event:FaultEvent):void
{
Alert.show(event.fault.toString());
}
protected function webService_successHandler(event:ResultEvent):void
{
Alert.show(event.result.toString());
}

]]>
/fx:Script>
fx:Declarations>
!-- 將非可視元素(例如服務、值對象)放在此處 -->
s:WebService id="webService" wsdl="http://10.19.1.48/upImg/Service1.asmx?WSDL" fault="webService_faultHandler(event)">
s:operation name="UploadFile" result="webService_successHandler(event)">/s:operation>
/s:WebService>
/fx:Declarations>
s:VideoDisplay id="videoDis" width="500" height="500" click="UItoBitmap(videoDis,t_img_Picture),UItoBitmap(videoDis,content)" toolTip="點擊拍照">/s:VideoDisplay>
mx:DateChooser id="myDate" x="62" y="508" click="UItoBitmap(myDate,t_img_Picture),UItoBitmap(myDate,content)" toolTip="點擊拍照"/>

mx:Image id="t_img_Picture" x="522" y="0" width="500" height="500" click="UISaveAsImg(t_img_Picture)" toolTip="點擊保存本地"/>
mx:Canvas id="content" x="500" y="300" width="500" height="500" click="UISaveAsImg(content)" toolTip="點擊保存本地">/mx:Canvas>

s:Button x="305" y="537" label="上傳" width="130" height="64" click="upLoadImg(t_img_Picture)"/>

/s:Application>

webservice代碼:
復制代碼 代碼如下:

/// summary>
/// 上傳文件到遠程服務器
/// /summary>
/// param name="fileBytes">文件流/param>
/// param name="fileName">文件名/param>
/// returns>字符串/returns>
[WebMethod(Description = "上傳文件到遠程服務器.")]
public string UploadFile(byte[] fileBytes, string fileName)
{
try
{
MemoryStream memoryStream = new MemoryStream(fileBytes); //1.定義并實例化一個內存流,以存放提交上來的字節數組。
FileStream fileUpload = new FileStream(Server.MapPath(".") + "\\" + fileName, FileMode.Create); ///2.定義實際文件對象,保存上載的文件。
memoryStream.WriteTo(fileUpload); ///3.把內存流里的數據寫入物理文件
memoryStream.Close();
fileUpload.Close();
fileUpload = null;
memoryStream = null;
return "文件已成功上傳至服務器";
}
catch (Exception ex)
{
return ex.Message;
}
}
您可能感興趣的文章:
  • c#實現攝像頭拍照功能示例
  • Android 開發隨手筆記之使用攝像頭拍照
  • AngularJS中使用HTML5手機攝像頭拍照

標簽:海西 欽州 佛山 呂梁 攀枝花 仙桃 滄州 泰州

巨人網絡通訊聲明:本文標題《Flex實現的上傳攝像頭拍照并將UI保存為圖片》,本文關鍵詞  Flex,實現,的,上傳,攝像頭,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Flex實現的上傳攝像頭拍照并將UI保存為圖片》相關的同類信息!
  • 本頁收集關于Flex實現的上傳攝像頭拍照并將UI保存為圖片的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 拜泉县| 定南县| 三河市| 策勒县| 延边| 安平县| 漳州市| 永和县| 义乌市| 定州市| 宁城县| 兴山县| 长岭县| 台湾省| 景谷| 安顺市| 白河县| 瓮安县| 三明市| 武平县| 长沙市| 定结县| 宁晋县| 鹿邑县| 江永县| 弥渡县| 渝中区| 南郑县| 白河县| 喜德县| 临沧市| 海盐县| 伊金霍洛旗| 新巴尔虎左旗| 崇阳县| 开阳县| 彰化市| 建瓯市| 遂宁市| 石家庄市| 大竹县|