Unity Image控件和RawImage

Image组件,顾名思义,用来显示图片。

注意:在Unity中的2D坐标空间,将X定义为向右递增,而Y则向上递增。即左下角为原点,这和OpenCV里面是不一样的。

Image可以设置为纯色,或者用纹理图片代替
在这里插入图片描述
在脚本中,如果我们想动态加载图片该怎么做呢?

public Texture2D texture;
public Image image;

//1)读取目标文件
byte[] imageByte = File.ReadAllBytes(imagePath);

//2)转换成纹理
texture.LoadImage(imageByte);

//3)转换成精灵
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0, 0));

//4)给image赋值
image.sprite = sprite;

如果图片较大,速度转换会相应变慢,可以考虑吧Image控件换成RawImage,然后通过image.texture = texture直接赋值,省略第3)步

public Texture2D texture;
public RawImage image;

//1)读取目标文件
byte[] imageByte = File.ReadAllBytes(imagePath);

//2)转换成纹理
texture.LoadImage(imageByte);

//3)给image赋值
image.texture = texture;

速度提了好几倍!

猜你喜欢

转载自blog.csdn.net/qq_41598072/article/details/125824895