我制作了一个应用程序,用于拍摄屏幕图片,并将其保存在Gallery中,其名称与我使用DateTime类和自己的前缀给出的名称相同。 Android上的代码运行完美,当您按下按钮时,它将截屏并完成所有操作。但是故事在iOS上并不相同。只要按下按钮,它就会崩溃。这是代码:
Flash.SetActive(true);
RenderTexture rt = new RenderTexture(resWidth, resHeight, 24);
cam.targetTexture = rt;
Texture2D screenShot = new Texture2D(resWidth, resHeight, TextureFormat.RGB24, false);
cam.Render();
RenderTexture.active = rt;
screenShot.ReadPixels(new Rect(0, 0, resWidth, resHeight), 0, 0);
cam.targetTexture = null;
RenderTexture.active = null;
Destroy(rt);
byte[] bytes = screenShot.EncodeToPNG();
filename = ScreenShotName(resWidth, resHeight);
FullSharePath = "/storage/emulated/0/GarderobaShots/" + filename + ".png";
Texture2D textu = new Texture2D(900,1320, TextureFormat.RGBAFloat, false);
textu.LoadImage(bytes);
textu.Apply();
spr = Sprite.Create(textu ,new Rect(0.0f, 0.0f, textu.width, textu.height), new Vector2(1f, 1f), 100.0f);
ShareAbleObject.transform.GetChild(1).gameObject.GetComponent<Image> ().sprite = spr;
ShareAbleObject.SetActive(true);
NativeGallery.SaveImageToGallery(textu, "AmazingGirlsShots", filename + ".png");
takeHiResShot = false;
代码的快速介绍它使用我拥有的某些相机(较小且具有不同的画布(仅文字))切换场景的MainCamera,然后激活我称为Flash(在屏幕上为白色Flash)的对象,单独关闭之后,它将在屏幕上渲染纹理并将其保存在
Texture2D textu
“完整共享”路径是此文件存储的路径,因此用户可以共享或从游戏中查看它。
NativeGallery.SaveImageToGallery(textu, "AmazingGirlsShots", filename".png");
这是我为ios和android所使用的插件,它刷新图库以在图库中显示图像,否则,它只是在手机中的某个地方,我认为这可能不是问题,因为它被许多人使用,作为检查插件。