public enum ImageZoomType
{
None = 0, //强制压缩
Max = 1, //按短边压缩
Min = 2, //按长边压缩
}
/// <summary>
/// 载入图片
/// </summary>
/// <param name="targetImg"></param>
/// <param name="curSprite"></param>
/// <param name="zoomType"></param>
private void UpdateSprite(Image targetImg, Sprite curSprite, ImageZoomType zoomType = 0)
{
if (zoomType == ImageZoomType.None)
{
targetImg.sprite = curSprite;
return;
}
Vector2 imgSize = targetImg.GetComponent<RectTransform>().rect.size;
targetImg.sprite = curSprite;
targetImg.SetNativeSize();
float xScale = imgSize.x / curSprite.rect.width;
float yScale = imgSize.y / curSprite.rect.height;
float setScale = 1;
if (zoomType == ImageZoomType.Min)
{
setScale = Mathf.Min(xScale, yScale);
}
else if (zoomType == ImageZoomType.Max)
{
setScale = Mathf.Max(xScale, yScale);
}
targetImg.transform.localScale = Vector3.one * setScale;
}
unity 图片的三种缩放加载方式
猜你喜欢
转载自blog.csdn.net/weixin_47819574/article/details/129438571
今日推荐
周排行