N>Иногда бывает нужно в коде в целях отладки сбрасывать какие то изображения что бы посмотреть.
у меня на C# такое было нужно
делюсь:
public static byte[] ImageToBytes(Image image, ImageFormat format)
{
// так исправляется коварный баг в фреймворке на 64 платформах:
// http://stackoverflow.com/questions/10586538/net-image-save-method-produces-non-reproducible-results-on-windows-64-bit
// http://stackoverflow.com/questions/9021720/system-drawing-image-save-producing-inconsistent-file-sizes
using( var tmpImage = new Bitmap(image) )
using( var memoryStream = new MemoryStream() )
{
//image.Save( memoryStream, format );
tmpImage.Save( memoryStream, format );
return memoryStream.ToArray();
}
//byte[] imageData;
//using( var fs = new FileStream( tilePath, FileMode.Open, FileAccess.Read ) )
//{
// imageData = new byte[fs.Length];
// fs.Read( imageData, 0, Convert.ToInt32( fs.Length ) );
// fs.Close();
//}
}
public static Image BytesToImage( byte[] bytes )
{
using( var ms = new MemoryStream(bytes) )
{
ms.Seek(0, SeekOrigin.Begin);
return Image.FromStream(ms);
}
}