मैं दूरस्थ डेस्कटॉप साझाकरण एप्लिकेशन बना रहा हूं जिसमें मैं डेस्कटॉप की एक छवि को कैप्चर करता हूं और इसे कंप्रेस करके रिसीवर को भेजता हूं। छवि को संपीड़ित करने के लिए मुझे इसे बाइट में बदलने की जरूरत है []।
वर्तमान में मैं इसका उपयोग कर रहा हूं:
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
लेकिन मुझे यह पसंद नहीं है क्योंकि मुझे इसे एक ImageFormat में सहेजना है और यह संसाधनों (धीमे डाउन) का उपयोग करने के साथ-साथ विभिन्न संपीड़न परिणामों का उत्पादन भी कर सकता है। मैंने मार्शल और चोपसी का उपयोग करने पर पढ़ा है लेकिन मैं इसमें असमर्थ हूं उन्हें समझें।
तो क्या इस लक्ष्य को हासिल करने का कोई और तरीका है?
MemoryStream
; यह पूरी तरह से प्रबंधित संसाधन है, जब तक कि आप इसे रीमोट करने में उपयोग नहीं कर रहे हैं। इन दोनों मामलों में संसाधन का निपटान करना अनुचित होगा।