前不久遇到一个问题,使用Unity中的Raw Image的时候想要图片不被拉伸。
![](https://img.haomeiwen.com/i20111982/8fa6cd0f364f8d58.png)
![](https://img.haomeiwen.com/i20111982/3c53d3e8a0719c13.gif)
记得Image组件里面有一个参数:Preserve Aspect(锁定比例),可以针对Simple模式,勾选之后,无论图片的sizeDelta怎么变化,图片都会一直保持初始的比例缩放。
但是RawImage组件没有这个参数
![](https://img.haomeiwen.com/i20111982/c949efab000c7fba.png)
![](https://img.haomeiwen.com/i20111982/ac68250cb3778806.gif)
于是就使用了Aspect Ratio Fitter组件,这个组件比较简单,只有两个参数,Aspect Mode和Aspect Ratio
![](https://img.haomeiwen.com/i20111982/40e7df3cc0a18d12.png)
![](https://img.haomeiwen.com/i20111982/4caa89dcbdbe0ef3.gif)
1 、Aspect Mode
None = 0,//不使用任何适配
WidthControlsHeight = 1,//通过宽控制高
HeightControlsWidth = 2,//通过高控制宽
FitInParent = 3,// 控制子物体保持在父物体内
EnvelopeParent = 4//控制子物体覆盖父物体
2、Aspect Ratio :适配的比例
在RawImage组件下挂上Aspect Ratio Fitter组件,设置好你想要的属性,然后改变sizeDelta的宽高就会根据你设置的值来变化你的Tranform了,同理也适用于其他物体。
网友评论