我想弄清楚在图像处理操作的几个阶段如何处理图像(它看起来像是什么等),所以我写了以下内容co-routine
捕捉截图,但我不知道如何打印出来将拍摄的照片,在不同阶段(例如,作为PNG图像)将texture2D打印到文件或作为图像进行调试
public void CaptureFrame(RectTransform rect)
{
StartCoroutine(Co_Capture(rect));
}
private IEnumerator Co_Capture(RectTransform rect)
{
yield return new WaitForEndOfFrame();
_texture = new Texture2D((int)rect.sizeDelta.x, (int)rect.sizeDelta.y);
_texture.ReadPixels(new Rect(rect.anchoredPosition.x - (rect.sizeDelta.x * 0.5f), rect.anchoredPosition.y - (rect.sizeDelta.y * 0.5f), rect.sizeDelta.x, rect.sizeDelta.y), 0, 0);
_texture.Apply();
OnImageCaptured(new ScreenShotEventArgs(_texture));
}
考虑到我构建应用程序到的Android设备,理想情况下我想将图像保存在某个文件夹中(通过Unity3D编辑器)以及例如在其设备data
文件夹中。类似于Debug.Log
消息,您可以在不同阶段打印出来以查看代码的哪些部分已达到,等等。
我有什么选择?什么是通过Unity3D以及Android平板电脑保存图像/图片的代码/命令/方法,以便开发人员可以在各个阶段或处理过程中看到图像?
标题和正文都混淆。打印图像?对我来说,它看起来像你想截图然后保存它,然后加载它。是这样吗? – Programmer
@程序员确实。我想我应该使用'byte [] debugImage1 = _texture.EncodeToPNG();'然后'File.WriteAllBytes(Application.dataPath +“/../Img1.png”,debugImage1);'你会同意吗?有更好的选择吗?基本上,我试图在识别文本之前看到Tesseract对图像的作用,所以我需要看到苔丝各种图像处理步骤的结果。 – Joshua