1. 程式人生 > >unity點選按鈕擷取圖片儲存本地

unity點選按鈕擷取圖片儲存本地

菜鳥教程,歡迎大家指教
啥也不說直接上程式碼
// 定義一個協程
IEnumerator UploadPNG()
{
// 因為"WaitForEndOfFrame"在OnGUI之後執行
// 所以我們只在渲染完成之後才讀取螢幕上的畫面
yield return new WaitForEndOfFrame();

int width = Screen.width;
int height = Screen.height;
// 建立一個螢幕大小的紋理,RGB24 位格(24位格沒有透明通道,32位的有)
Texture2D tex = new Texture2D(width, height, TextureFormat.RGB24, false);
// 讀取螢幕內容到我們自定義的紋理圖片中
tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
// 儲存前面對紋理的修改
tex.Apply();
// 編碼紋理為PNG格式
byte[] bytes = tex.EncodeToPNG();
// 銷燬吳永的圖片紋理
Destroy(tex);
// 將位元組儲存成圖片,這個路徑只能在PC端對圖片進行讀寫操作
string path = System.Environment.CurrentDirectory + “/TuPian” + “-”+ “.png”;
File.WriteAllBytes(path, bytes);
// 這個路徑會將圖片儲存到手機的沙盒中,這樣就可以在手機上對其進行讀寫操作了
// File.WriteAllBytes(Application.persistentDataPath + “/onMobileSavedScreen.png”, bytes);
}
public void JieTu()
{
StartCoroutine(UploadPNG());
}
然後在按鈕上直接新增事件就好了