Вот мой код:Unity Texture2D.ReadPixels() производит серую текстуру
sigTex = new Texture2D ((int)dims.x, (int)dims.y);
sigTex.ReadPixels (new Rect (new Vector2(0.0f, Screen.height - bot) , dims), 0, 0);
byte[] pngBytes = sigTex.EncodeToPNG();
System.IO.BinaryWriter bw= new System.IO.BinaryWriter(new System.IO.FileStream(filename, System.IO.FileMode.Create));
bw.Write (pngBytes, 0, pngBytes.Length);
bw.Close();
Проблема заключается в том, что после этого кода я остался с пустым текстурой, которая является однородным серым, когда я пытаюсь использовать его в GUI или просмотреть его в инспекторе. Странно, что созданный файл правильный.
Можете ли вы предоставить код с применением текстуры на элементах пользовательского интерфейса? –
Я бы поверила, что это проблема, если бы не тот факт, что если я создаю текстуру публично, я могу сказать, что она серая в инспекторе, и если я удаляю текстуру во время ее запуска, она отображается. GUI.DrawTexture (новый Rect (курсор, GUIConstanst.flatRect), sigTexture, ScaleMode.ScaleToFit); – s1ni5t3r
Если ниже ответ помог, пожалуйста, подумайте о том, чтобы пометить ответ. Спасибо –