我正在创建一个应用程序,我希望能够存储屏幕截图,然后再显示它。我的代码运行正常,屏幕截图被存储,并且程序似乎也没有问题地收到。但是,它没有显示屏幕截图,这非常令人沮丧。这是我的代码:
void OnGUI(){
if (GUI.Button (new Rect(940,y+25, Screen.width/30, Screen.height/14), Tex7)){
Debug.Log ("Selfie-maker");
folderPath = Application.persistentDataPath + "/screenshot.png";
Application.CaptureScreenshot(folderPath);
Debug.Log ("Screenshot number " + screenshotCount +" taken!");
screenshotCount ++;
}
if(GUI.Button (new Rect(940,y+65, Screen.width/30, Screen.height/14), Tex)){
Debug.Log ("Anders");
fileName = Path.Combine(Application.persistentDataPath, "screenshot.png");
bytes = File.ReadAllBytes(fileName);
screenshot = new Texture2D(0,0,TextureFormat.ATF_RGB_DXT1, false);
screenshot.LoadImage(bytes);
}
}
我希望我提供的信息就足够了。如果没有,请不要犹豫。
答案 0 :(得分:1)
尝试像这样加载图片:
string fullFilename = Path.Combine(Application.persistentDataPath, "screenshot.png");
然后,加载图片:
WWW www = new WWW(fullFilename);
Texture2D texTmp = new Texture2D(0,0,TextureFormat.ATF_RGB_DXT1, false);
www.LoadImageIntoTexture(texTmp);
这应该可行,我无法测试代码,因为我没有在这台PC上安装Unity。
从此处采取的代码,请不要犹豫!
http://answers.unity3d.com/questions/25271/how-to-load-images-from-given-folder.html