У меня есть UI Image, чье Исходное изображение назначено во время выполнения. Эти изображения будут иметь различные размеры, и мне нужно, чтобы их масштабировали, чтобы они соответствовали границам элемента макета, чтобы было видно все изображение.Масштаб UI Изображение исходного изображения
Я пробовал несколько подходов для этого, однако я не могу заставить его работать; может ли кто-нибудь, пожалуйста, дать мне несколько указаний о том, как достичь этого?
Большого спасибо заранее
NB: макет управляется с помощью Layout Group компонентов, конфликтов для контроля над прямоугольником с другими потенциально полезными компонентами компоновки, такими как Формата Fitter и контентом Сайзер (как указано в документированных решает эту проблему)
public
function ContextImgImp() {
Debug.Log("Context Img Located at: " + texLocation);
var wwwDirectory = "file://" + texLocation; //this will probably need to change for other OS (PC = file:/ [I think?]) - **REVISE**
Debug.Log("Tex located at: " + wwwDirectory);
newImgTex = new Texture2D(512, 512, TextureFormat.DXT1, false);
while (true) {
var www: WWW = new WWW(wwwDirectory);
yield www;
Debug.Log("Done Downloading Texture");
www.LoadImageIntoTexture(newImgTex);
if (www.isDone) {
break; //if done downloading image break loop
}
}
var imgSprite = contImg.sprite;
var imgRect = imgSprite.rect;
var imgPivot = imgRectTrans.pivot;
var pixelScale = 100;
Debug.Log("Pixel Scale:" + pixelScale);
newImgSprite = Sprite.Create(newImgTex, imgRect, imgPivot, pixelScale);
contImg.sprite = newImgSprite;
//imgRectTrans.rect.size = Vector2(130,130);
//contImg.sprite.rect.size = Vector2(130,130);
//contImg.type = Image.Type.Simple;
//***HERE*** \t
if (assetFromFile) {
ImgNameSplit(); //only execute namesplit if from file
}
}