데스크톱 이미지를 캡처하여 압축하여 수신자에게 보내는 원격 데스크톱 공유 애플리케이션을 만들고 있습니다. 이미지를 압축하려면 byte []로 변환해야합니다.
현재 나는 이것을 사용하고 있습니다 :
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으로 저장해야하고 리소스를 소모하고 (Slow Down) 다른 압축 결과를 생성 할 수 있기 때문에 마음에 들지 않습니다. 그들을 이해하십시오.
그렇다면이 목표를 달성하는 다른 방법이 있습니까?
MemoryStream
; 원격에서 사용하지 않는 한 완전히 관리되는 리소스입니다. 이 두 경우 모두 자원을 폐기하는 것은 부적절합니다.