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); //LangChaoRommMinIo.Instance.getFile(MQTTManager.Instance.roomId, fileConfig.Bucket, fileConfig.ObjectName, (RoomFileData rfd) => { // Debug.Log("rfd==>" + rfd.url); // Debug.Log("rfd==>" + rfd.bytes.Length); // Texture2D texture = new Texture2D(10, 10); // texture.LoadImage(rfd.bytes);//流数据转换成Texture2D // texture.Apply(); // Adaption(texture); // mainImage.texture = texture; //}); if (!string.IsNullOrEmpty(fileConfig.Url)) { string url = fileConfig.Url; //LangChaoRommMinIo.Instance.getFile(MQTTManager.Instance.roomId, fileConfig.Bucket, fileConfig.ObjectName, (RoomFileData rfd) => { // Debug.Log("rfd==>" + rfd.url); // Debug.Log("rfd==>" + rfd.bytes.Length); // url = rfd.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); } } } }