반응형

이미지 전달

ImageToSHA512 Exception: System.Runtime.InteropServices.ExternalException (0x80004005): GDI+에서 일반 오류가 발생했습니다.

스트림독 플러그인 작업 중, MemoryStream을 사용해서 저장된 비트맵 이미지를 키로 전송할 때 위와 같은 오류가 발생한다. 이미지를 최종 사용할 때 메모리스트림에 접근해야 하는데, 스트림독은 Base64 통신이다. 그래서 플러그인의 메모리에 직접 접근이 불가능하다.

방법은 메모리스트림에 저장된 이미지를 비트맵으로 저장 후 전달하면 된다.

변경 전

using (MemoryStream ms = new MemoryStream())
{
    chart1.SaveImage(ms, ChartImageFormat.Bmp);
    image = Image.FromStream(ms);
}

변경 후

using (MemoryStream ms = new MemoryStream())
{
    chart1.SaveImage(ms, ChartImageFormat.Bmp);

    using (var bitmap = new Bitmap(ms))
    {
        image = new Bitmap(bitmap);
    }
}

 

반응형

관련글