unity调用摄像头
来源:互联网 发布:mysql count distinct 编辑:程序博客网 时间:2024/05/07 23:14
using UnityEngine;using System.Collections;using System.IO;using System.Runtime.Serialization;using System.Runtime.Serialization.Formatters.Binary;using System.Threading;public class paizhao : MonoBehaviour{ public string deviceName; //接收返回的图片数据 WebCamTexture tex; public Texture2D _tex; void OnGUI() { if (GUI.Button(new Rect(10, 20, 100, 40), "开启摄像头")) { // 调用摄像头 StartCoroutine(start()); } if (GUI.Button(new Rect(10, 70, 100, 40), "捕获照片")) { //捕获照片 tex.Pause(); StartCoroutine(getTexture()); } if (GUI.Button(new Rect(10, 120, 100, 40), "再次捕获")) { //重新开始 tex.Play(); } if (GUI.Button(new Rect(120, 20, 80, 40), "录像")) { //录像 StartCoroutine(SeriousPhotoes()); } if (GUI.Button(new Rect(10, 170, 100, 40), "停止")) { //停止捕获镜头 tex.Stop(); StopAllCoroutines(); } if (tex != null) { // 捕获截图大小 —距X左屏距离 | 距Y上屏距离 GUI.DrawTexture(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 190, 280, 200), tex); } } /// <summary> /// 捕获窗口位置 /// </summary> public IEnumerator start() { yield return Application.RequestUserAuthorization(UserAuthorization.WebCam); if (Application.HasUserAuthorization(UserAuthorization.WebCam)) { WebCamDevice[] devices = WebCamTexture.devices; deviceName = devices[0].name; tex = new WebCamTexture(deviceName, 300, 300, 12); tex.Play(); } } /// <summary> /// 获取截图 /// </summary> /// <returns>The texture.</returns> public IEnumerator getTexture() { yield return new WaitForEndOfFrame(); Texture2D t = new Texture2D(400, 300); t.ReadPixels(new Rect(Screen.width / 2 - 200, Screen.height / 2 - 50, 360, 300), 0, 0, false); //距X左的距离 距Y屏上的距离 // t.ReadPixels(new Rect(220, 180, 200, 180), 0, 0, false); t.Apply(); byte[] byt = t.EncodeToPNG(); // File.WriteAllBytes(Application.dataPath+"/Photoes/"+Time.time+".jpg",byt); tex.Play(); } /// <summary> /// 连续捕获照片 /// </summary> /// <returns>The photoes.</returns> public IEnumerator SeriousPhotoes() { while (true) { yield return new WaitForEndOfFrame(); Texture2D t = new Texture2D(400, 300, TextureFormat.RGB24, true); t.ReadPixels(new Rect(Screen.width / 2 - 180, Screen.height / 2 - 50, 360, 300), 0, 0, false); t.Apply(); print(t); byte[] byt = t.EncodeToPNG(); // File.WriteAllBytes(Application.dataPath + "/MulPhotoes/" + Time.time.ToString().Split('.')[0] + "_" + Time.time.ToString().Split('.')[1] + ".png", byt); Thread.Sleep(300); } }}
0 0
- Unity调用PC摄像头
- Unity调用PC摄像头
- unity调用摄像头
- unity调用外部摄像头
- unity调用摄像头
- unity调用摄像头拍照
- unity调用摄像头
- unity调用摄像头拍照
- unity ~ 调用摄像头的代码
- Unity、笔记本调用外接摄像头
- unity调用摄像头和闪光灯
- unity 摄像头
- Unity调用外接摄像头的实例代码(C#)
- Unity调用外接摄像头的实例代码(C#)
- Unity使用WebCamTexture 实现手机前后摄像头调用
- unity调用摄像头进行拍照和保存照片
- Unity 3D之调用摄像头并存储
- 调用摄像头
- static全局变量与普通全局变量的区别?static局部变量与普通局部变量的区别?static函数与普通函数的区别?
- poj 3463 Sightseeing(最短路次短路)
- Ubuntu 14.04设置PATH环境变量(二)
- Android 体系架构/四层
- linux设备文件
- unity调用摄像头
- maven 亲测可用国内镜像 阿里云
- eclipse中调试窗口不显示错误
- 关于shell和expect和ssh
- java基础重要知识点答案
- 受保護的(protected)成員
- 全志a20设置默认ip
- Linux信号实践(4) --可靠信号
- React.createElement: type should not be null, undefined, boolean, or number