我想用 Unity (2D) 实现一个图片库。我在Canvas
逻辑上划分为 100x100 单位的正方形。然后:
- 每个“正方形”都由从 Internet 动态下载的图像填充(使用 www 类);
- 图像不一定是正方形:在这种情况下,我想“缩放和裁剪图像”:保留纵横比并且图像填充整个正方形;
- 当用户点击一个正方形时,图像会在屏幕中间展开到其自然大小。再次单击图像将返回正方形大小/位置;
- 每隔一段时间,随机取一个正方形并将其图像替换为新图像。
我是 Unity 新手,我已经尝试了很多不同的方法。我真正的问题是规模和作物。的确:
- 需要
Gui.DrawTexture()
一个参数scaleMode.ScaleAndCrop
,这正是我所需要的。但这是旧 UI 系统的一部分...... - 新的 UI 提供
Image
和RawImage
Gui 组件,但开箱即用,我们可以保持纵横比或填充正方形,而不是两者兼而有之。 - 我试图通过将正方形像素复制到新纹理中来创建“纹理缩略图”。它可以工作,但缩略图和全尺寸图像之间的动画不再可能......
我确信有一种方法可以使用新的 UI 功能并获得缩放和裁剪效果,但我不知道如何。有人可以给我一个建议吗?