포토샵처럼 고무 기능을 구현하고 싶지만 배경을 수정하지 않고 배경에 그려진 도형을 지우기 만하면됩니다. 이제 배경이 이미지이므로 단일 색상으로 브러시를 사용할 수 없습니다.GDI로 레이어를 구현하려면 어떻게해야합니까?
1
A
답변
1
이미지의 각 레이어를 자체 버퍼에 저장 한 다음 결합하여 출력해야합니다. 그래서 배경은 하나의 Image 객체에 있고 그 모양은 다른 Image 객체에있을 것입니다. WM_Paint 메시지를 받으면 두 이미지를 하나로 결합하여 출력해야합니다 (또는 메모리의 세 번째 이미지 개체에 미리 결합 된 이미지가 있어야합니다).
0
단순한 선/도형을 고무 밴드 상자와 같이 그려보고 싶다면 구식 또는 그림을 사용하는 것이 좋습니다. 이것은 그려지는 곳의 색을 "반전"하므로 같은 모양을 두 번째로 그리면 지우고 원래의 이미지를 반환합니다.
요즘 컴퓨터는 훨씬 강력하므로 두 개의 별도 이미지를 화면에 결합하는 경향이 있습니다. (편집중인 실제 이미지를 화면에 비트 맵으로 저장하면됩니다.) 이렇게하면 모든 색상/투명도를 사용하여 오버레이를 그릴 수 있으므로 훨씬 더 멋지게 보이게 할 수 있습니다.
관련 문제
- 1. 수식 팩토리를 구현하려면 어떻게해야합니까?
- 2. 추천 엔진을 구현하려면 어떻게해야합니까?
- 3. 스프라이트 마스킹을 구현하려면 어떻게해야합니까?
- 4. PHP로 콜백을 구현하려면 어떻게해야합니까?
- 5. PHP로 팩스를 구현하려면 어떻게해야합니까?
- 6. 이 레이어를 겹치게하지 않으려면 어떻게해야합니까?
- 7. Flex에서 링크 목록을 구현하려면 어떻게해야합니까?
- 8. Lua Metatables로 OO를 구현하려면 어떻게해야합니까?
- 9. ASP.NET 프로젝트에서 HTTPS를 구현하려면 어떻게해야합니까?
- 10. UDP를 사용하여 Traceroute를 구현하려면 어떻게해야합니까?
- 11. 일대일 정렬 목록을 구현하려면 어떻게해야합니까?
- 12. GWT에서 로그인 화면을 구현하려면 어떻게해야합니까?
- 13. PHP로 태그 엔진을 구현하려면 어떻게해야합니까?
- 14. DataReader에서 Peek() 함수를 구현하려면 어떻게해야합니까?
- 15. JavaScript에서 "최대화"버튼을 구현하려면 어떻게해야합니까?
- 16. Java에서 명령 패턴을 구현하려면 어떻게해야합니까?
- 17. C에서 콜백 함수를 구현하려면 어떻게해야합니까?
- 18. 플렉스에서 AJAX 기능을 구현하려면 어떻게해야합니까?
- 19. 레이아웃에서 작동하도록 플러그인을 구현하려면 어떻게해야합니까?
- 20. C에서 메타 클래스를 구현하려면 어떻게해야합니까?
- 21. 다른 파일에서 인터페이스를 구현하려면 어떻게해야합니까?
- 22. GWT 콜백 URL을 구현하려면 어떻게해야합니까?
- 23. 컨트롤에 나타나는 트레이를 구현하려면 어떻게해야합니까?
- 24. Javascript에서 크기 조정을 구현하려면 어떻게해야합니까?
- 25. C++로 생성기를 구현하려면 어떻게해야합니까?
- 26. Perl에서 웹 서비스를 구현하려면 어떻게해야합니까?
- 27. DataGridView 컨트롤에서 필터링을 구현하려면 어떻게해야합니까?
- 28. UNION이있는 쿼리에 SQL_CALC_FOUND_ROWS를 구현하려면 어떻게해야합니까?
- 29. ArcMap에서 위치 및 속성별로 레이어를 선택하려면 어떻게해야합니까?
- 30. 데이터 액세스 레이어를 적절하게 디자인하려면 어떻게해야합니까?