首页 > 代码库 > Unity3D使用C#脚本调用外置摄像头拍摄照片,并转化成byte数组
Unity3D使用C#脚本调用外置摄像头拍摄照片,并转化成byte数组
TakePhoto.cs IEnumerator Start() { //获取摄像头 yield return Application.RequestUserAuthorization(UserAuthorization.WebCam); if(Application.HasUserAuthorization(UserAuthorization.WebCam)) { WebCamDevice[] devices = WebCamTexture.devices; if(devices !=null) {
//获取设备名称 deviceName = devices[0].name; tex = new WebCamTexture(deviceName,400,300,12); tex.Play(); } } } //获取像素 private byte[] GetPhotoPixel(WebCamTexture ca) { Texture2D texture = new Texture2D (ca.width,ca.height); int y = 0; while (y < texture.height) { int x = 0; while (x < texture.width) { UnityEngine.Color color = ca.GetPixel(x,y); texture.SetPixel(x,y,color); ++x; } ++y; } texture.Apply (); // texture.name = name ; byte[] pngData =http://www.mamicode.com/ GetJpgData (texture); return pngData ; } //控制照片大小 private byte[] GetJpgData(Texture2D te) { byte[] data= http://www.mamicode.com/null ; int quelity = 75 ; while(quelity > 20) { data = te.EncodeToJPG(quelity); int size = data.Length/1024; if( size > 30 ) { quelity -=5; } else { break ; } } return data ; }
Unity3D使用C#脚本调用外置摄像头拍摄照片,并转化成byte数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。