вторник, 10 февраля 2009 г.

Serialize Bitmap in C#

Что-то, стукнуло мне в голову сериализовать Bitmap. И померить насколько быстро это получится. Вот код если кому интересно:

private void button4_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
DateTime dt = DateTime.Now;
for (int i = 0; i < 1000; i++)
{
// загружаем картинку
Bitmap bmp0 = new Bitmap(ofd.FileName);
// отображаем картинку
pictureBox1.Image = bmp0;
// сохраняем картинку
MemoryStream ms = new MemoryStream();
bmp0.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
// конвертаем картинку в строку
String str = Convert.ToBase64String(ms.ToArray());
// загружаем картинку из строки
ms = new MemoryStream(Convert.FromBase64String(str));
Bitmap bmp1 = new Bitmap(ms);
// отображаем полученный результат
pictureBox2.Image = bmp1;
}
MessageBox.Show("Execution time: " + ((TimeSpan)(DateTime.Now - dt)).TotalMilliseconds.ToString() + " ms");
}
}

Комментариев нет: