gpt4 book ai didi

c# - 如何使用高度和宽度调整 Texture2D 的大小?

转载 作者:行者123 更新时间:2023-12-02 16:14:00 24 4
gpt4 key购买 nike

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

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

graphics.Resize((horizo​​ntalx - horizo​​ntaly), (verticalx - verticaly), TextureFormat.RGBA32, false);//创建具有高度和宽度的纹理

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

最佳答案

调整大小的最简单方法可能是调用 Graphics.Blit 以新的 RenderTexture 为目标并使用您的 Texture2D 作为源。如果之后你需要它是一个Texture2D,你可以在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;
}
}

关于c# - 如何使用高度和宽度调整 Texture2D 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56949217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com