啊大大。

This commit is contained in:
GL 2024-10-18 23:06:26 +08:00
parent 7f137d6681
commit bdf1344b26
3 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9b10b14aef60efe4097684860488530f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,38 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class adaptive_ui : MonoBehaviour
{
public RawImage rawImage; // 使用RawImage组件展示纹理
public RectTransform boundaryRect; // 代表边界矩形的RectTransform
void Start()
{
ScaleAndCropTexture();
}
void ScaleAndCropTexture()
{
Texture texture = rawImage.texture;
float textureWidth = texture.width;
float textureHeight = texture.height;
float boundaryWidth = boundaryRect.rect.width;
float boundaryHeight = boundaryRect.rect.height;
// 计算缩放比例,确保较短的一边适应边界矩形
float scaleFactor = Mathf.Max(boundaryWidth / textureWidth, boundaryHeight / textureHeight);
// 设置缩放后的尺寸
float newWidth = textureWidth * scaleFactor;
float newHeight = textureHeight * scaleFactor;
// 设置RawImage的RectTransform尺寸使其居中并覆盖边界矩形
rawImage.rectTransform.sizeDelta = new Vector2(newWidth, newHeight);
// 裁剪超出的部分
rawImage.rectTransform.anchoredPosition = Vector2.zero; // 确保居中
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8014c4cd1f84d6f4c9ed8324201ffcf7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: