2016-11-08 2 views
0

Я в сценарии, где я манипулирую растровые изображения, используя AForge.net в Unity. Однако Bitmap не может быть применен к текстуре в Unity, поэтому я заметно вижу свой вывод, так как это делается?Преобразование растрового изображения в Texture2D в Unity

Я считаю, что мне нужно использовать MemoryStream, но каким образом мне неизвестно.

+0

Только для информации, изображения.Save (мс, формат); всегда сбрасывает единицу, пример кода: http://stackoverflow.com/a/7350732/5452781, я только что закончил копировать его по пикселям .. было бы лучше преобразовать Bitmap в массив byte [] и загрузить этот массив в единицу текстуры. – mgear

+0

Помогает ли эта ссылка? https://forum.unity3d.com/threads/convert-writeablebitmap-to-texture2d-efficiently.210305/ –

+0

Возможно, вы просто попробуете копировать пиксель текстуры по пикселям, используя https://docs.unity3d.com/ScriptReference/Texture2D .SetPixel.html? –

ответ

0

мне удалось добиться этого с помощью MemoryStream, т.е .:

 MemoryStream msFinger = new MemoryStream(); 
     bitmapCurrentframeRed.Save(msFinger, bitmapCurrentframeRed.RawFormat); 
     redCamera.LoadImage(msFinger.ToArray()); 
     redFilter.GetComponent<Renderer>().material.mainTexture = redCamera; 

С bitmapCurrentframeRed будучи Растровые, redCamera будучи Texture2D и redFilter будучи в GameObject (плоскость) используется для просмотра мой выход.

Смежные вопросы