Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用高度和宽度调整纹理2D的大小?_C#_Opencv_Unity3d_Image Resizing_Texture2d - Fatal编程技术网

C# 如何使用高度和宽度调整纹理2D的大小?

C# 如何使用高度和宽度调整纹理2D的大小?,c#,opencv,unity3d,image-resizing,texture2d,C#,Opencv,Unity3d,Image Resizing,Texture2d,我试图调整纹理的大小和宽度,其显示索引超出宽度/高度 纹理需要调整大小,因为我在其他纹理上使用它来应用于特定坐标,所以无法调整纹理大小 图形是我的纹理2D graphics.Resize((水平方向-水平方向),(垂直方向-垂直方向),TextureFormat.RGBA32,false)//创建具有高度和宽度的纹理 SetPixels32只能在RGBA32或BGRA32纹理上调用,但正在TextureFormat(12)UnityEngine上调用。Texture2D:SetPixels32(

我试图调整纹理的大小和宽度,其显示索引超出宽度/高度

纹理需要调整大小,因为我在其他纹理上使用它来应用于特定坐标,所以无法调整纹理大小 图形是我的纹理2D

graphics.Resize((水平方向-水平方向),(垂直方向-垂直方向),TextureFormat.RGBA32,false)//创建具有高度和宽度的纹理


SetPixels32只能在RGBA32或BGRA32纹理上调用,但正在TextureFormat(12)UnityEngine上调用。Texture2D:SetPixels32(Color32[])

调整大小的最简单方法可能是调用图形。Blit以新渲染纹理为目标,并使用Texture2D作为源。如果以后需要它成为纹理2D,可以在RenderTexture上调用ReadPixels

using UnityEngine;
using UnityEngine.UI;

public class Resizer : MonoBehaviour {
    public Texture2D inputtexture2D;
    public RawImage rawImage;
    [ExposeMethodInEditor]
    void Start()
    {
        rawImage.texture=Resize(inputtexture2D,200,100);
    }
    Texture2D Resize(Texture2D texture2D,int targetX,int targetY)
    {
        RenderTexture rt=new RenderTexture(targetX, targetY,24);
        RenderTexture.active = rt;
        Graphics.Blit(texture2D,rt);
        Texture2D result=new Texture2D(targetX,targetY);
        result.ReadPixels(new Rect(0,0,targetX,targetY),0,0);
        result.Apply();
        return result;
    }
}

你能给我举个例子吗?非常感谢你,这真的很有效,我现在可以调整纹理大小了,我正在尝试将它添加到另一个纹理特定坐标中,我在获取调整坐标时使用的坐标。我如何才能将此图像数据复制到该坐标中?嘿,它工作正常,但在调整大小后完全会得到模糊图像有没有办法通过调整大小和同样的像素不应该模糊,但它使用GPU来调整大小。你说的坐标是什么意思?坐标不依赖于纹理(通常以规范化形式表示)@PUBGxxTHORxx调整大小时总会出现一些失真,因为计算机无法创建不存在的数据,因此它必须插值与原始图像中的精确坐标不对齐的像素值。