2013-03-12 2 views
0

Windows 데스크톱 용 Windows 8 RTM 및 Visual Studio Express 2012를 사용하고 있습니다. Visual C++에서 UIRibbon을 사용하는 응용 프로그램을 작성하려고합니다. (Express 버전 만 있기 때문에 MFC에 액세스 할 수 없기 때문에 답변에 사용하지 마십시오.)이미지 투명성이 작동하지 않습니다.

문제는 내가 리본에 사용하는 아이콘과 관련이 있습니다. Windows 7과의 호환성은이 프로젝트의 요구 사항이므로 PNG 이미지는 사용할 수 없습니다. 나는 구식 BMP가 붙어있다. 문제는 일부 BMP가 올바르게 표시되지만 대부분의 이미지에는 검은 색 경계 상자가 있습니다. 문제는 BMP 파일과 관련이 있으며 리본 XML 파일이나 코드에없는 것으로 의심됩니다.

올바르게 표시되는 BMP는 인터넷에서 샘플을 다운로드 한 후 다운로드 한 것입니다. 올바르게 표시되지 않는 BMP는 ICO 파일에서 추출한 다음 System.Drawing.Bitmap .NET API를 사용하여 32 비트 이미지로 변환됩니다. (이 변환 과정은 런타임이 아닌 빌드 과정의 일부로 별도의 프로그램에서 수행됩니다.)

제 질문은 :이 방식으로 BMP의 비트 심도를 변경하면 이미지의 색상이 영향을 받습니까? 그렇다면 누구나 도구를 사용하여 PNG 파일을 Windows UIRibbon에서 올바르게 작동하는 32 비트 BMP 파일로 변환 할 수 있습니까?

답변

0

여기에 Windows Ribbon Framework이 있습니까? 그렇다면 프레임 워크가 Windows 7에서만 BMP를 지원하므로 PNG를 사용할 수 없습니다. Windows 8에서는 PNG도 사용할 수 있습니다. 자세한 내용은 M SDN article 관련 내용을 참조하십시오.

PNG를 호환되는 BMP 파일로 변환하는 무료 도구는 "Windows Ribbon Framework for Delphi"과 함께 제공되는 비주얼 디자이너를 살펴 보는 것입니다.

XML 마크 업을 편집기에로드하고 그림을 추가하기 만하면됩니다. 필요한 경우 편집기는 추가 된 파일을 BMP로 변환합니다. 편집기를 사용하여 리본 정의가 올바른지 확인할 수도 있습니다. 유효한 "Windows 리본 프레임 워크"XML 마크 업을 생성하므로 마크 업 파일을 C++, C# 또는 Delphi와 같은 다른 언어로 사용하여 향후 응용 프로그램을 개발할 수 있습니다.

관련 문제