0

I need load XNA.Texture2D to PictureBox.

i've tried this: http://www.gamedev.net/community/forums/viewreply.asp?ID=3224621 but it doesn't work. Any suggestions?

nilphilus
  • 590
  • 1
  • 5
  • 23

2 Answers2

2

You should be able to use that method, but make sure that your XNA Texture2D is created with a format of 32bbpARGB. Any other format will prevent that method from working directly.

Reed Copsey
  • 554,122
  • 78
  • 1,158
  • 1,373
  • [Texture2D = bgr32]. but there is another problem, how could i 'reformat' texture to 32bbpARGB? – nilphilus May 04 '10 at 21:11
  • for (int i = 0; i < 4 * texture.Width * texture.Height; i += 4) { byte tmp = textureData[i + 0]; textureData[i + 0] = textureData[i + 2]; //b textureData[i + 2] = tmp; //r textureData[i + 3] = 255; //A } it doesen't take too much time, but could be improved. – nilphilus May 04 '10 at 21:35
2

Easier way to do it is save the Texture2D using Texture2D.SaveAsPng or Texture2D.SaveAsJpeg to a memory stream and the open the virtual file using Bitmap(Stream).

ClassicThunder
  • 1,896
  • 16
  • 25