Tôi có một System.Drawing.Image
trong chương trình của mình. Tệp không nằm trong hệ thống tệp đang được lưu trữ trong bộ nhớ. Tôi cần tạo một luồng từ đó. Tôi sẽ đi đâu để tới đó?System.Drawing.Image to stream C#
49
A
Trả lời
102
Hãy thử như sau:
public static Stream ToStream(this Image image, ImageFormat format) {
var stream = new System.IO.MemoryStream();
image.Save(stream, format);
stream.Position = 0;
return stream;
}
Sau đó, bạn có thể sử dụng như sau:
var stream = myImage.ToStream(ImageFormat.Gif);
Thay GIF với bất cứ định dạng phù hợp với kịch bản của bạn .
6
Sử dụng một dòng bộ nhớ
using(MemoryStream ms = new MemoryStream())
{
image.Save(ms, ...);
return ms.ToArray();
}
Các vấn đề liên quan
- 1. Chuyển đổi một System.Drawing.Image đến một dòng suối
- 2. Chuyển đổi System.Drawing.Image thành System.Windows.Controls.Image?
- 3. C# Chụp Video Stream Từ Cửa sổ
- 4. nodejs stream vs callbacks
- 5. Memory Stream là DB
- 6. Cần phải Capture Video Stream từ Camera trong C# Application
- 7. Porting C++ to C# - templates
- 8. Haskell's Stream Fusion
- 9. SecureString to Byte [] C#
- 10. Chuyển đổi System.Drawing.Image sang Emgu.CV.Image <Gray,byte>
- 11. FFmpeg Live Stream - Loop Video?
- 12. Int to Char in C#
- 13. C++ std :: string to boolean
- 14. LINQ to XML qua C#
- 15. long to HWND (VS8 C++)
- 16. Fortran90 to C# Conversion Issue
- 17. Byte to Binary in C
- 18. C# DateTime to String Issue
- 19. porting isnan to C++ 11
- 20. C# OpenFileDialog Lock To Directory
- 21. C# convert system.IO.Stream to Byte []
- 22. Làm thế nào để chuyển đổi 'System.Windows.Media.Imaging.BitmapImage' thành 'System.Drawing.Image'?
- 23. Cần MD5 băm cho một bộ nhớ trong System.Drawing.Image
- 24. Làm thế nào để tạo ImageBrush từ System.Drawing.Image trong WPF?
- 25. Làm thế nào để chuyển đổi System.Drawing.Image để Byte Array?
- 26. thể không mặc nhiên chuyển đổi loại 'System.Drawing.Image' thành 'System.Drawing.Bitmap'`
- 27. "Parameter không hợp lệ" ngoại lệ bốc System.Drawing.Image
- 28. C# Webclient Stream tải xuống tệp từ FTP sang bộ nhớ cục bộ
- 29. Cách mở tệp từ Memory Stream
- 30. android mediaplayer stream trực tuyến mp3 file
Tôi vừa mới viết chính xác điều đó! – configurator
System.Drawing.Image.Save yêu cầu định dạng khi lưu vào luồng. http://msdn.microsoft.com/en-us/library/ms142147.aspx – jcollum
Bạn có thể giữ nguyên định dạng hình ảnh ban đầu bằng cách thay đổi lưu hình ảnh thành: image.Save (stream, image.RawFormat); – Marko