저는 Clarion (Clarion은 C++ 유형 언어) 프로그램 용 .NET DLL을 작성하고 있습니다. Clarion 프로그램은 .NET DLL 메서드를 호출하여 Clarion 이미지 컨트롤의 HWND를 전달합니다. .NET DLL에서 올바른 HWND를 가지고 있으므로 올바른 RECT (위쪽, 오른쪽, 아래쪽, 왼쪽)를 HWND에서 전달할 수 있습니다.HWND에 비트 맵 쓰기 (Clarion에서 HWND를 .NET DLL로 전달)?
.NET DLL에서 HWND에 비트 맵을 쓰고 있습니다. 클라리온 측에서는 단순히 이렇게 것이다 :
가myImageControl? {PROP : ImageBits가} = ImageBytes ImageBytes 같은 파일 또는 클라리온 STRING 같은 바이트의 어레이이다
(고정 길이, 0이 아닌 종료).
미리 감사드립니다. Graphics.FromHwnd()
을 :
'HDC의 HDC =의 GetDC (HWND)'과'와 setPixel (HDC, X, Y, RGB (255,255,255)) ;'? 이것은 C++에서 Win32를 사용하지만 도움을 줄 수 있습니다 : http://www.falloutsoftware.com/tutorials/win/win3.htm 물론 BitBlt()는 더 빠를 것입니다 ... –
고마워,하지만 어떻게해야하는지 알아야 해. C#에서 이것을하십시오. C#은 HDC, GetDC 등을 인식하지 못합니다. 아마도 C#을 인식 할 수있는 방법이있을 수 있지만 현재로서는 어떻게 해야할지 모르겠습니다. C++로 작성했다면 간단 할 것입니다. – RFM
P/Invoke 또는 C++/CLI interop을 사용하십시오. 참조 : http://msdn.microsoft.com/en-us/library/aa288468%28v=vs.71%29.aspx –