我在Facebook开发者身上找到了这个代码。它适用于小屏幕,但它与屏幕2000x2000崩溃。 我发现因为编码到png会占用大量内存。 我首先使用另一种方式捕获屏幕,使用www加载图像,然后在Facebook上传。 问题是www需要使用二进制图像上传。
Facebook API有另一种上传图片的方法吗?
yield return new WaitForEndOfFrame();
var width = Screen.width;
var height = Screen.height;
var tex = new Texture2D(width, height, TextureFormat.RGB24, false);
// Read screen contents into the texture
tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
tex.Apply();
byte[] screenshot = tex.EncodeToPNG();
var wwwForm = new WWWForm();
wwwForm.AddBinaryData("image", screenshot, "InteractiveConsole.png");
FB.API("me/photos", Facebook.HttpMethod.POST, Callback, wwwForm);