您现在的位置是:首页 >技术教程 >Unity WebCamTexture转Texture2D转byte[]网站首页技术教程

Unity WebCamTexture转Texture2D转byte[]

萌萌的提莫队长 2024-07-22 12:01:02
简介Unity WebCamTexture转Texture2D转byte[]

一:

WebCamTexture=>Texture2D

关键词:

GetNativeTexturePtr

CreateExternalTexture

只是要显示在屏幕上,这段代码没有问题

如果想要转成byte[] 

使用EncodeToJPG

则会有一个报错(暂时不知道什么原因)

Unable to retrieve image reference

使用 GetRawTextureData  

则会得到一个长度为0的数组

也可以直接把webCamera直接赋值到RawImage上

using System;
using UnityEngine;
using UnityEngine.UI;
public class Sample : MonoBehaviour
{

    public WebCamTexture webCamera;
    public RawImage image;

    public Texture2D t2d;
    private void Start()
    {
        webCamera = new WebCamTexture(WebCamTexture.devices[0].name);
        webCamera.Play();
        IntPtr pt = webCamera.GetNativeTexturePtr();

        t2d = Texture2D.CreateExternalTexture(webCamera.width, webCamera.height, TextureFormat.RGBA32, false, false, pt);
        image.texture = t2d;
    }
}

二、

WebCamTexture转Byte[]

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。