2011-09-22 6 views
3

저는 WPF 및 양식의 배경색으로 색상을 가지고 놀고 자합니다. 아무 것도하지 않고 (뒤에 코드가없는, 다른 클래스에서 파생되는 등), 나는 새로운 기본 Windows Form을 만듭니다. 배경을 밝은 파란색으로 바꿉니다. 양식을 저장하십시오. 나는 # 4800A8A6의이 같은 배경 값을 시도하려고 할 경우에도, 또한창 배경색 : 지정된 것보다 더 어둡게 보입니까?

<Window x:Class="MyProjectNamespace.AnotherWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="AnotherWindow" Height="300" Width="300" Background="#4800A8A6"> 
    <Grid> 

    </Grid> 
</Window> 

의 XAML을 존중하는 것처럼 프로그램을 실행하고 그 양식을 열 .. 양식은 다른 더 어두운 색으로 표시됩니다 브러시를 만들고 BrushConverter.ConvertFrom ("# 4800A8A6"); 을 실행하고 양식을 실행하면 디자이너가 표시 한 것과 같이 잘못된 색상이 표시됩니다 ...

+0

모니터의 기울기를 변경하십시오. P – albertjan

+0

@the_ajp ... 귀엽거나 아내가 말할 수있는 것처럼 ... 안경을 깨끗하게합니까? 그러나 그들은 단지 10 "이내의 물건을 읽는 것입니다. 그리고 제 모니터는 2 피트 이상 떨어져 있습니다 ... :) – DRapp

답변

5

색상 코드의 첫 번째 바이트 인 '48'은 알파 값이므로 (윈도우 폼 (Windows Form)이 아닌 다른 기술이기 때문에) 윈도우에 알파 블렌딩을 허용합니다. 즉, 윈도우의 색상이 그 뒤에있는 색상과 혼합 될 것입니다.

다음으로 변경해보십시오 : #FF00A8A6, 더 나은 결과를 얻을 수 있는지 확인하십시오.

+0

당신의 대답은"출혈 "과 회계를 막기 위해 접두사"FF "값을 명시 적으로 포함함으로써 더욱 완벽 해졌습니다. 4 번째 가능한 16 진수 색상 값을 입력하십시오. 게시 시간이 5 분이되면 즉시 확인하겠습니다. – DRapp

+0

@DRapp : 알파 채널을 완전히 지정하지 말고 ['Brush.Opacity'] (http : // msdn. 이 방법을 사용하면 투명성이 필요할 때 더욱 명확하게 표현할 수 있습니다 (앞으로 자신의 것과 같은 문제를 피할 수 있습니다). – user7116

3

문제는 Alpha channel in the background color (예 : #AARRGGBB)입니다. 디자이너에서는 배경색이 VS (내 경우에는 흰색)에 상관없이 배경을 합성하는 것을 보게됩니다.이 경우 배경을 독립형으로 실행할 때와 비교하여 배경이 밝아집니다.

직접 확인하려면 Background="#00A8A6"을 시도하거나 AllowsTransparency="True"을 추가해 볼 수도 있습니다 (단, onerous requirement of WindowStyle.None).

+0

I ' Opacity에 대한 귀하의 제안을 고려해보십시오. 귀하의 솔루션이 어떻게 작동하는지 명확히 해 주셔서 감사합니다. – DRapp

2

아마도 색상의 알파 성분 때문일 수 있습니다. 창을 투명하게 만들려면 AllowsTransparency="True"을 사용해야합니다. 그렇지 않으면 WPF는 기본 윈도우 배경색을 윈도우 배경과 병합합니다.

관련 문제