Unity 适应image高度显示纹理

public Texture2D texture;   //纹理

private Image img;          //目标图片
private RectTransform rectTransform;

void Start()
{
    rectTransform = GetComponent();
    img = GetComponent();
    SetImg();
}

void SetImg()
{
    float imgHeight = rectTransform.rect.height;

    float spriteWidth = (imgHeight * texture.width) / texture.height;
    float spriteHeight = imgHeight;

    Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0, 0));
    img.sprite = sprite;

    rectTransform.sizeDelta = new Vector2(spriteWidth, spriteHeight);
}

你可能感兴趣的:(unity,游戏引擎)