2011-12-23 5 views
1

Я работаю над классом, который поможет мне прочитать файл игры, а часть файла - это изображение. Есть ли объект изображения, который я могу создать из массива байтов, или просто сохранить изображение в виде массива байтов? Если бы я должен был помещать это изображение в устройство отображения изображений в winforms, могу ли я сделать это с помощью байтового массива?Управление изображениями?

Каков наилучший способ хранения данных из файла?

+0

Что вы пробовали? Вы читали документацию в пространстве имен System.Drawing? С чем вы столкнулись? – Oded

ответ

3

как this:

byte[] data = getYourImageData(); 
MemoryStream ms = new MemoryStream(data); 
pictureBox1.Image = Image.FromStream(ms); 

ответить на вторую часть вашего вопроса, это прекрасно, чтобы сохранить его как массив байтов - может обеспечить вспомогательный метод, который возвращает поток памяти, как показано выше, или в качестве альтернативы храните его в System.Drawing.Bitmap и вернуть that:

return new Bitmap(ms); 
1

Bitmap класса System.Drawing поддерживает конструктор, который принимает поток в качестве параметра. Этот поток может быть предоставлен MemoryStream, который создается из массива байтов.

Как только у вас есть растровое изображение, для его отображения можно использовать PictureBox.

Ссылки:

http://msdn.microsoft.com/en-us/library/z7ha67kw.aspx (для точечного рисунка)

http://msdn.microsoft.com/en-us/library/system.io.memorystream.aspx (для потока)

http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.aspx (PictureBox)

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