2013-05-13 3 views
0


Я хочу сохранить растровое изображение с использованием объекта потока памяти в формате emf. Когда я сохранить метод, он бросает следующее исключение: enter image description hereСохранение растрового изображения в формате emf с использованием потока памяти

Код:

 Bitmap image = new Bitmap(Server.MapPath("Stacking.Png")); 
     MemoryStream stream = new MemoryStream(); 

     image.Save(stream, ImageFormat.Emf); 

Пожалуйста, объясните мне, что вызывает эту ошибку и как я могу сохранить файл в формате EMF?

Спасибо и уважением,
Anand

ответ

1

Я нашел простейшее обходное решение для этого. Я использовал следующий код:

 image.Save(Server.MapPath(FileName)); 
     MemoryStream stream1 = new MemoryStream(System.IO.File.ReadAllBytes(Server.MapPath(Filename))); 
     System.IO.File.Delete(Server.MapPath(Filename)); 

Это помогло мне загрузив изображение в э.д.с. файл, используя объект потока памяти, но все же я должен сохранить изображение временно в сервере.

Спасибо за ответ, ребята.

1

Дело в том, ЭДС является vector тип изображения, и PNG, BMP, GIF и т.д., являются растровых из них.

Нельзя просто преобразовать растр в вектор, если вы не используете для этого дополнительное программное обеспечение.

+0

Можно ли преобразовать файл png в растровое изображение в формат emf с помощью C#? – Anandaraj

+0

Да, если вы создадите свой собственный конвертер. [Вики] (http://en.wikipedia.org/wiki/Vectorization_ (image_tracing)). – AgentFire

0
string image = Convert.ToBase64String(System.IO.File.ReadAllBytes("c:\\1.43-Branches-and-Birds.png")); 

byte[] encodedDataAsBytes = Convert.FromBase64String(image); 
Stream ImageStream = new MemoryStream(encodedDataAsBytes); 
string UniqueFileName = Guid.NewGuid().ToString("n") + ".bmp"; 
string UniqueFileName = userregistration.Id + "_abcd.png"; 
string uploadFolderPath = "~/ProfileImage/"; 
string filePath = HttpContext.Current.Server.MapPath(uploadFolderPath); 

System.Drawing.Image img = System.Drawing.Image.FromStream(ImageStream); 
img.Save(HttpContext.Current.Request.PhysicalApplicationPath + "ProfileImage\\" + UniqueFileName, System.Drawing.Imaging.ImageFormat.Emf);*/ 
+0

Пожалуйста, предварительно просмотрите свои ответы перед публикацией - примените базовое форматирование как минимум ... –

+0

Также полезно добавить некоторое объяснение по коду, чтобы показать OP, что вызывало ошибку, ошибку, .... – Mahm00d

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