我在 Facebook 开发人员上找到的这段代码。它适用于小屏幕,但它会在屏幕 2000x2000 时崩溃。我发现这是因为编码为 png 会占用大量内存。我使用另一种方式,首先捕获屏幕,使用 www 加载图像,然后上传到 Facebook。问题是www需要使用二进制图像上传。
- 我可以在不编码为 png 的情况下上传到 Facebook(因为我从本地文件加载)吗?
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);