public void DrawImage(PSImage image, GameObject parent, GameObject ownObj) { //UnityEngine.UI.Image pic = AssetDatabase.LoadAssetAtPath(PSDImporterConst.PREFAB_PATH_IMAGE, typeof(UnityEngine.UI.Image)) as UnityEngine.UI.Image; //string commonImagePath = PSDImporterConst.Globle_BASE_FOLDER + image.name.Replace(".", "/") + PSDImporterConst.PNG_SUFFIX; //Debug.Log("== CommonImagePath ====" + commonImagePath); //Sprite sprite = AssetDatabase.LoadAssetAtPath(commonImagePath, typeof(Sprite)) as Sprite; UnityEngine.UI.Image pic; if (ownObj != null) { pic = ownObj.AddMissingComponent <UnityEngine.UI.Image>(); } else { pic = PSDImportUtility.LoadAndInstant <UnityEngine.UI.Image>(PSDImporterConst.ASSET_PATH_IMAGE, image.name, parent); } RectTransform rectTransform = pic.GetComponent <RectTransform>(); PSDImportUtility.SetAnchorMiddleCenter(rectTransform); // string assetPath = PSDImportUtility.baseDirectory + image.name + PSDImporterConst.PNG_SUFFIX; // Sprite sprite = AssetDatabase.LoadAssetAtPath(assetPath, typeof(Sprite)) as Sprite; // if (sprite == null) // { // Debug.Log("loading asset at path: " + PSDImportUtility.baseDirectory + image.name); // } Sprite sprite = image.LoadAssetAtPath <Sprite>() as Sprite; pic.sprite = sprite; pic.type = UnityEngine.UI.Image.Type.Sliced; //RectTransform rectTransform = pic.GetComponent<RectTransform>(); rectTransform.sizeDelta = new Vector2(image.size.width, image.size.height); rectTransform.anchoredPosition = new Vector2(image.position.x, image.position.y); }
public void DrawImage(PSImage image, GameObject parent, GameObject ownObj = null) { UnityEngine.UI.RawImage pic; if (ownObj != null) { pic = ownObj.AddMissingComponent <UnityEngine.UI.RawImage>(); } else { pic = PSDImportUtility.LoadAndInstant <UnityEngine.UI.RawImage>(PSDImporterConst.ASSET_PATH_RAWIMAGE, image.name, parent); } // string assetPath = PSDImportUtility.baseDirectory + image.name + PSDImporterConst.PNG_SUFFIX; // Texture2D texture = AssetDatabase.LoadAssetAtPath(assetPath, typeof(Texture2D)) as Texture2D; // if (texture == null) // { // Debug.Log("loading asset at path: " + PSDImportUtility.baseDirectory + image.name); // } Texture2D texture = image.LoadAssetAtPath <Texture2D>() as Texture2D; pic.texture = texture as Texture; RectTransform rectTransform = pic.GetComponent <RectTransform>(); PSDImportUtility.SetAnchorMiddleCenter(rectTransform); rectTransform.sizeDelta = new Vector2(image.size.width, image.size.height); rectTransform.anchoredPosition = new Vector2(image.position.x, image.position.y); }
public void DrawImage(PSImage image, GameObject parent, GameObject ownObj = null) { RectTransform halfRectTrans = parent.GetComponent <RectTransform>(); PSDImportUtility.SetAnchorMiddleCenter(halfRectTrans); halfRectTrans.sizeDelta = new Vector2(image.size.width, image.size.height); halfRectTrans.anchoredPosition = new Vector2(image.position.x, image.position.y); UnityEngine.UI.Image leftOrUpSprite; if (ownObj != null) { leftOrUpSprite = ownObj.AddMissingComponent <UnityEngine.UI.Image>(); } else { leftOrUpSprite = PSDImportUtility.LoadAndInstant <UnityEngine.UI.Image>(PSDImporterConst.ASSET_PATH_IMAGE, image.name, halfRectTrans.gameObject); } //string assetPath = ""; //if (image.imageSource == ImageSource.Common || image.imageSource == ImageSource.Custom) //{ // assetPath = PSDImportUtility.baseDirectory + image.name + PSDImporterConst.PNG_SUFFIX; //} //else //{ // assetPath = PSDImporterConst.Globle_BASE_FOLDER + image.name.Replace(".", "/") + PSDImporterConst.PNG_SUFFIX; //} //Sprite sprite = AssetDatabase.LoadAssetAtPath(assetPath, typeof(Sprite)) as Sprite; Sprite sprite = image.LoadAssetAtPath <Sprite>() as Sprite; // if (sprite == null) // { // Debug.Log("loading asset at path: " + assetPath); // } leftOrUpSprite.sprite = sprite; RectTransform lOrURectTrans = leftOrUpSprite.GetComponent <RectTransform>(); lOrURectTrans.anchoredPosition = new Vector2(image.position.x, image.position.y); //添加镜像组件 var mirror = lOrURectTrans.gameObject.AddComponent <UGUI.Effects.Mirror>(); if (image.imageType == ImageType.BottomHalfImage) { mirror.mirrorType = UGUI.Effects.Mirror.MirrorType.Vertical; } else if (image.imageType == ImageType.LeftHalfImage) { mirror.mirrorType = UGUI.Effects.Mirror.MirrorType.Horizontal; } else if (image.imageType == ImageType.QuarterImage) { mirror.mirrorType = UGUI.Effects.Mirror.MirrorType.Quarter; } mirror.SetNativeSize(); }