我正在尝试将以下背景画笔应用于#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define MAX 100000
// Assume nA > 0
int Distance(int A[], int nA){
int i, j;
int D[MAX];
for(i = 0 ; i < nA ; i++){
-> // The sum must be reset to 0 for each point
int distance = 0;
for(j = 0 ; j < nA ; j++){
distance = abs(A[i] - A[j]);
D[i] += distance;
}
}
-> // The distance for point 0 needs to be computed
int least = INT_MAX;
int index = -1;
for(i = 0 ; i < nA ; i++){
if(least > D[i]){
least = D[i];
-> // You are storing an index, not a position
index = i;
}
}
printf("%d %d", index, least);
}
int main(){
int i;
int nA;
int A[MAX];
scanf("%d", &nA);
for (i = 0 ; i < nA ; i++){
scanf("%d", &A[i]);
}
Distance(A, nA);
}
:
NavigationWindow
<NavigationWindow.Background>
<RadialGradientBrush GradientOrigin="0.496,1.052">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5"
ScaleX="1.5" ScaleY="1.5"/>
<TranslateTransform X="0.02" Y="0.0"/>
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Offset="1" Color="#00000000"/>
<GradientStop Offset="0.2" Color="#FFFFFFFF"/>
</RadialGradientBrush>
</NavigationWindow.Background>
元素中除此设置器外,目前没有任何其他内容
身体,我正在尝试在一个新的项目中解决它。设计器会显示正确的颜色,但是在运行时,颜色会比应有的要深很多。
这是它的外观以及设计者如何正确显示它:
这是运行时的样子:
我尝试将相同的笔刷应用于NavigationWindow
元素,并且效果很好。
答案 0 :(得分:1)
这是因为在运行时您的黑色是100%透明的,而背景是黑色。在设计器中,您显示了方格白色背景。您可以证明两种方式。首先将Visual Studio设置为暗模式。其次,将NavigationWindow更改为Background=Transparent
。您将在运行时看到它具有黑色背景。另一方面,将页面上的背景设置为透明会导致白色背景。
尝试使用所有不透明的颜色。像这样:
<NavigationWindow.Background>
<RadialGradientBrush GradientOrigin="0.496,1.052">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5"
ScaleX="1.5" ScaleY="1.5"/>
<TranslateTransform X="0.02" Y="0.0"/>
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Offset="1" Color="#FF4B4B4B"/>
<GradientStop Offset="0.2" Color="#FFFFFFFF"/>
</RadialGradientBrush>
</NavigationWindow.Background>