Unity是一款跨平台的游戏引擎,可以用于开发游戏、虚拟现实和增强现实应用程序。WebCamTexture是Unity中的一个类,用于访问和操作设备上的摄像头。下面是如何使用Unity WebCamTexture保存png的步骤:
using UnityEngine;
public class SaveWebcamImage : MonoBehaviour
{
private WebCamTexture webcamTexture;
private void Start()
{
// 获取设备上的摄像头
WebCamDevice[] devices = WebCamTexture.devices;
if (devices.Length > 0)
{
// 使用第一个摄像头
webcamTexture = new WebCamTexture(devices[0].name);
// 开始摄像头预览
webcamTexture.Play();
}
}
private void Update()
{
// 按下空格键保存当前帧为png图片
if (Input.GetKeyDown(KeyCode.Space))
{
// 创建一个新的纹理,将摄像头纹理的像素数据复制到新纹理中
Texture2D texture = new Texture2D(webcamTexture.width, webcamTexture.height);
texture.SetPixels(webcamTexture.GetPixels());
texture.Apply();
// 将纹理数据保存为png文件
byte[] bytes = texture.EncodeToPNG();
System.IO.File.WriteAllBytes("WebcamImage.png", bytes);
// 停止摄像头预览
webcamTexture.Stop();
}
}
}
这是一个简单的示例,演示了如何使用Unity的WebCamTexture保存png图片。你可以根据自己的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云