using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PngJpgItem : BaseFilePrefabItem { public RawImage mainImage; public RectTransform rectTransform; public override void Init(FileConfig fileConfig) { base.Init(fileConfig); if (!string.IsNullOrEmpty(fileConfig.Url)) { string url = fileConfig.Url; if (!fileConfig.Url.Contains("http")) { url = "https://" + fileConfig.Url; } NetWorkHeaders.Instance.getNetTexture(url, null, (Texture tex) => { if (tex) { Adaption(tex); mainImage.texture = tex; } }); } } public void Adaption(Texture tex) { float standard_width = 150f; float standard_height = 84f; float video_width = tex.width; float video_height = tex.height; //Debug.Log(tex.width + "***" + tex.height); if (standard_width < video_width && standard_height > video_height) { float video_aspect = standard_width / video_width; rectTransform.sizeDelta = new Vector2(standard_width, video_height * video_aspect); } else if (standard_width > video_width && standard_height < video_height) { float video_aspect = standard_height / video_height; rectTransform.sizeDelta = new Vector2(video_width * video_aspect, standard_height); } else if (standard_width > video_width && standard_height > video_height) { if (standard_width / video_width > standard_height / video_height) { float video_aspect = standard_height / video_height; rectTransform.sizeDelta = new Vector2(video_width * video_aspect, video_height * video_aspect); } else { float video_aspect = standard_width / video_width; rectTransform.sizeDelta = new Vector2(video_width * video_aspect, video_height * video_aspect); } } else { if (standard_width / video_width > standard_height / video_height) { float video_aspect = standard_height / video_height; rectTransform.sizeDelta = new Vector2(video_width * video_aspect, video_height * video_aspect); } else { float video_aspect = standard_width / video_width; rectTransform.sizeDelta = new Vector2(video_width * video_aspect, video_height * video_aspect); } } } }