COM 개체를 사용하여 C ++/COM 라이브러리에서 DIB를 구현하는 방법.

StackOverflow https://stackoverflow.com/questions/265967

  •  06-07-2019
  •  | 
  •  

문제

DIB를 반환하는 메소드가 포함 된 C ++/ATL로 구현 된 COM 객체가 있습니다. 또한이 COM 객체를 사용할 .NET 응용 프로그램도 작성하고 있습니다. 우리는 둘 다 글을 쓰고 있기 때문에, 우리는 COM 객체 에서이 DIB를 가장 잘 반환하는 방법을 결정할 자유가 있습니다. 명확히하기 위해 기본 창 핸들을 DIB 또는 바이트 어레이로 되돌리는 것이 가장 좋을까요? 그리고 그 질문과 관련하여 :이 반환 된 DIB를 받으면 .NET Image Object에 어떻게 가져올 수 있습니까?

도움이 되었습니까?

해결책

com/ole에는 iPicture (그리고 스크립팅 친화적 인 버전 ipicturedisp).

Com은 이러한 인터페이스의 구현을 제공합니다. 당신은 전화를 통해 당신을 위해 하나를 만들 수 있습니다. elecreatepictureindirect (). 당신은 단지 그것을 건네줍니다 Pictdesc 구조 그래픽을 사용하여 인터페이스를 다시 제공합니다. 해당 인터페이스를 호출 프로그램에 다시 건네 줄 수 있어야합니다. 이렇게하면 객체가 VB6과 같은 다른 COM 클라이언트와 호환됩니다.

.NET Land로 돌아가서 iPicture를 사용하여 이미지로 전환 할 수 있습니다. Microsoft.visualbasic.compatibility.vb6.ipicturetoimage ().

다른 팁

기사를 살펴보십시오 dib to system.bitmap CodeProject에서. DIB에서 비트 맵으로 변환 할 코드가 있습니다. 아이디어는 DIB가 intptr을 사용하여 표현된다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top