2009-10-29 2 views
6

PNG 이미지를 (바이트 스트림으로) 보내고 이미지를 즉시 표시해야하는 연결 속도가 느립니다. C# WinForms 앱에서 byte []를 수락하고 메모리 스트림에로드하고 System.Drawing.Image/Bitmap 객체를 만듭니다.모든 데이터를 받기 전에 어떻게 인터레이스 된 PNG를 보여줄 수 있습니까?

내가 원했던 것은 초 저해상도 이미지를 전송 한 다음 점진적으로 업데이트하여 데이터가 수신 될 때까지 명확하게 표시하는 것입니다. PNG는 내가 원하는 것을 수행하는 인터레이스 된 이미지를 지원합니다.

모든 데이터를 받기 전에 PNG를 표시하고 나머지 부분이 점진적으로 명확 해지도록 할 수 있습니까? 어떻게해야합니까?

답변

2

Adam7 algorithm을 준수하는 방식으로 바이트를 제공해야합니다. 아마도 제 3 자 라이브러리가 인터넷 검색을 통해 바이트를 전달하여 하드 드라이브를 제거 할 수 있습니다.

여기에있는 내용은 visual example입니다.

: LibPNG for Windows might be a start. 물론 DLL은 .NET 프로그램이 관리되지 않는 코드 및 비 MSIL 어셈블리와 상호 작용할 것을 요구하며, 다른 이야기는 stackoverflow의 다른 위치에 게시됩니다. 또는 특히 다른 질문을 만들 수 있습니다. LibPNG는 오픈 소스 프로젝트이므로 소스 코드를 살펴보면 C# /.NET에서 코드화 할 수있는 Adam7 알고리즘에 대한 통찰력을 얻을 수 있습니다.

+0

감사합니다. 더 많은 자동 * 솔루션이 필요하다고 생각했는데, 그렇지 않습니다. ( – NotDan

+0

도 마찬가지입니다. 쉽게 구현할 수있는 구현이 없다는 것이 이상합니다. 어쩌면 당신이 처음 일 것입니다. –

관련 문제