保持纵横比,但是居中裁剪

3
我有一个带有 RawImage 组件的 GameObject ,该组件使用 Texture 显示图像。

该图像被挤压成对象的大小并更改了其原始比例。

我怎样才能告诉纹理中的图像使用 CropCenter ?(例如在Android上)

“输入图像描述”src

1个回答

5
这是我处理横向图片的方法:
  1. 创建一个名为“Mask”的父级RawImage元素(也适用于UI > Image组件)
  2. 添加UI > Mask组件
  3. 将Smurf图像(带有`RawImage`组件)作为“Mask”对象的子项
  4. 设置子项的RectTransform值:
    • 锚点最小值=(0.5,0),
    • 锚点最大值=(0.5,1)
    • 顶部= 0
    • 底部= 0
  5. Layout > Aspect Ratio Fitter添加到Smurf图像中,并将Aspect Mode设置为“Height Controls Width”,将Aspect Ratio设置为所需值(例如16/9)

检查图像:父级称为“Mask”,您的Smurf图像称为“Image”

enter image description here

针对纵向图片,RectTransform的值为:

  • 锚点最小值 = (0, 0.5),
  • 锚点最大值 = (1, 0.5)
  • 左侧 = 0
  • 右侧 = 0

子元素的Aspect Mode必须设置为“宽度控制高度”。


我发现AspectRatioFitter.AspectMode.EnvelopeParent对我来说是最合适的,但你的回答对我帮助很大,谢谢兄弟! - David

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接