2011-11-23 2 views
1

WPF 응용 프로그램에서 작업 중이고 화면에서 픽셀의 색상 값을 검색하려고합니다 (응용 프로그램이 표시하는 화면).WPF : VB.NET을 사용하여 픽셀 가져 오기 (GDI를 사용하지 않음)

gdi32 API를 사용하여이를 수행하는 방법을 보여주는 자습서를 찾았지만 이것이 WPF 응용 프로그램이므로 GDI를 사용하지 않고이 작업을 수행 할 방법을 찾고 있습니다.

또한 CroppedBitmap을 사용하여 그림 내에서 픽셀을 검색하는 방법의 예를 발견했습니다. 그러나 응용 프로그램에서 이미지를 사용하고 있지 않습니다.

누구든지 이것을 달성하는 방법을 알고 있습니까?

감사합니다.

+0

귀하의 앱 밖에 있다고 가정합니다. – SLaks

+0

아니요, 내 신청서 내에서 이야기하고 있습니다. 내 WPF 응용 프로그램에서 정의 된 영역 (Canvas가 될 수 있음) 내에서 마우스 옆에있는 픽셀의 색상 값을 가져 오려고합니다. – Frinavale

답변

1

전체 공개 : 그러나 나는 내 라이브러리도 아니고 내가 주인

내가하는 것입니다 바닐라 WPF에서이 일을 알고있는 유일한 방법에 가입하고는 WriteableBitmapEx 오픈 소스 프로젝트에 기여 RenderTargetBitmap을 사용하여 캔버스를 비트 맵에 렌더링 한 다음 WriteableBitmap API를 사용하여 해당 픽셀에 대한 포인터를 가져옵니다. 렌더링 작업이 임시 (소프트웨어) 서페이스를 만드는 것과 관련하여 매우 느린 작업이지만 페인트 "색상 선택기"유형 응용 프로그램과 같이 자주 사용하지 않는 작업에 적합합니다.

이 예제에서 도움이 될 GetPixel 및 SetPixel 함수가 있으므로 WriteableBitmapEx 라이브러리를 참조하십시오.

+0

정보를 제공해 주셔서 감사합니다. 나는 내 자신의 호기심에 대해 이것을 조사해야 할 것이다. 내 주 응용 프로그램에서 새로운 Telerik 컨트롤 중 하나를 사용하여 끝났지 만 귀하의 솔루션이 작동합니다 ... 자르기 기법을 사용하기 위해 비트 맵에 캔버스를 직렬화 생각하지 :) 나는 그것을 체크 아웃 할 때 그 프로젝트로 돌아갈 시간이있어! – Frinavale

+0

heh, 나는 해커이다.) Telerik은 몇 가지 훌륭한 것을 만들고, 전에 상용 애플 리케이션에서 라이브러리를 사용해 왔으며 가볍고 성능이 뛰어나다는 평가를 내렸다. –

관련 문제