有時候我們需要把加載的圖片轉換成Sprite來使用。
方法:
步驟一:加載本地或網絡圖片并轉換成Texture,這里不再贅述,可參考:
Unity 加載本地圖片的方法-CSDN博客
Unity 下載網絡圖片的方法,并把圖片賦值給UI和物體的方法-CSDN博客
?步驟二:把Texture轉換成Sprite。
方法是使用:Sprite.Create()方法。
該方法有以下六種語法:
???????public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot);
???????public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit);
???????public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude);
???????public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, SpriteMeshType meshType);
???????public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot,float pixelsPerUnit, uint extrude, SpriteMeshType meshType, Vector4 border);
???????public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, SpriteMeshType meshType, Vector4 border, bool generateFallbackPhysicsShape);
其中,texture,要轉換的紋理對象;
rect,指定紋理中要使用的矩形區(qū)域;
pivot,Sprite中心點,默認值(0.5,0.5),即紋理中心點;
pixelsPerUnit,每個單位的像素數(shù),默認值100.0f,表示1個Unty單位對應100個像素;
extrude,擴展紋理邊緣的像素數(shù),默認值為0,表示不進行擴展;
meshType,Sprite的網格類型,默認值為SpriteMeshType.Tight
,表示使用緊密的網格;
?border,定義Sprite九宮格邊框的向量,默認值是(0,0,0,0),表示沒有邊框;
generateFallbackPhysicsShape,指定是否生成回退的物理形狀。
具體使用哪種語法,可根據(jù)需要使用。文章來源:http://www.zghlxwxcb.cn/news/detail-763402.html
如通過紋理和區(qū)域和中心點轉換Sprite對象:文章來源地址http://www.zghlxwxcb.cn/news/detail-763402.html
public Texture2D texture; // 紋理對象
// 轉換Sprite
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
到了這里,關于Unity 加載本地或網絡圖片并轉為精靈(Sprite)的方法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!