2015-09-14 5 views
0

У меня есть 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 
 
    } 
 
}

ответ

1

Существует функция «SetNativeSize», однако, если вы используете компоненты компоновки, этот размер будет переопределен в следующем цикле обновления.