글쎄, 창문 너머로 희미한 줄무늬 패턴을 갖고 싶다. 멋지게 느껴지니까. 단지 사용 (창 HBRUSH의 비트 맵 패턴 만들기
window with red stripes on white background http://www.cityaftersix.ca/uploads/windowpattern.png
하지만, 난 단지 전경 색상을 설정할 수 있습니다, 나는 배경이없는 흰색 만드는 방법을 알고하지 않습니다 어쨌든, 내가 좋아하는, 그래서 난 그냥 해치 브러시를 만들 수있어 기본 창 색상). 나는 기본 배경색과 약간 어두운 전경색을 사용하는 비트 맵을 그리는 방법을 알아 내려고하는 MSDN을 파고 들며 창 배경을 가로 질렀다. 어떻게하면 좋을까요? C에서 emacs로 작업 중입니다. 리소스 편집기 나 이와 비슷한 것이 없습니다 ... 저는 이것을 순수한 C 언어로 추가 할 것입니다.
누구나 알 수 있습니다.
제 생각에는 코드로 간단한 5x5 비트 맵을 그릴 수 있기를 바랍니다. 따라서 그릴 때마다 COLOR_BACKGROUND
이 사용됩니다. 을 얻고 그 색상을 어둡게 한 다음 새 색상으로 복사하는 방법이 있습니까?
좋아는, 괜찮아, 나는 그것을
내가 조금의 답변으로 내 솔루션을 다시 게시합니다을했지만 문제는 뭔가 이상한했다 : GetSysColor(COLOR_BTNFACE);
내 호출이 COLORREF
에서 반환 된 0x00BBGGRR
인데 반해 CreateBitmap();
은 이것을 0x00RRGGBB
으로 해석하고 있습니다 ... 나는 방금 빨강 및 파랑 바이트를 바꿨다. 그러나이 엔디안 혼동을 피할 수있는 방법이 있을까? 아니면 창문의 변덕인가?
또한이 브러시를 정적 컨트롤에 어떻게 페인트합니까?
인텔은 빅 엔디안 환경입니까? 아마도 그것이 혼란을 설명 할 것입니까? –
아니, 이것은 다른 기능을 읽는 것보다 하나 개의 기능이 다른 순서로 RGB 값을 넣어처럼 모든 단지 Windows XP에서 내 노트북에 ... 그냥 것입니다. 시스템 엔디안 문제인 경우 0x00RRGGBB 또는 0xBBGGRR00이 아닐까요? 비트가 메모리에 배치하는 방법의 형식은 장치 드라이버까지 있습니다 - 또는 0x00BBGGRR/0xRRGGBB00 –
나는 CreateBitmap이 장치 의존 비트 맵을 만들고 있다고 생각합니다. 나는 그로 살펴 보겠습니다 안전하게 구현 세부 팁을위한 –