如果我在WP 8.1中使用线性渐变:
items_average
我得到这样一张照片:
当我理解正确时,这是由于α值转换不足。对于Windows XAML,有 MarkupExtensions ,可解决此问题,但对于WindowsPhone,我无法使用 MarkupExtensions 。
是否有其他可靠的解决方法,满足了我对此的需求?
(是的,它应该是透明的,因为它应该在底部淡出#include <type_traits>
#include <iostream>
template <class B>
typename std::enable_if < std::is_same<B,int>::value ||std::is_same<B,double>::value ,std::string >::type
add (std::string str , B b){
return str + std::to_string(b);
}
template <class B>
typename std::enable_if < std::is_same<B,int>::value ||std::is_same<B,double>::value ,std::string >::type
add (B b, std::string str){
return std::to_string(b)+ str ;
}
template <class A , class B>
typename std::enable_if < (std::is_same<B,int>::value ||std::is_same<B,double>::value)&& (std::is_same<A,int>::value ||std::is_same<A,double>::value) , decltype(A()+B()) >::type
add (B b, A a){
return a+b;
}
std::string add (std::string a , std::string b){
return a+b;
}
int main (void){
std::cout << add("hi ", "there")<<"\n";
std::cout << add ("hi there" , 3)<<"\n";
std::cout << add (3 , "hi there")<<"\n";
std::cout << add (2.2 , 1.1)<<"\n";
std::cout << add (3.14 , 2)<<"\n";
std::cout << add (4 , 2)<<"\n";
return 0;
}
并且这个<Grid Height="20">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Transparent" Offset="0"/>
<GradientStop Color="Black" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
</Grid>
具有不同颜色的内容。通常我可以通过使“透明”来欺骗“颜色只是周围的颜色。”
答案 0 :(得分:2)
好吧所以我猜问题是白色......?
问题是Transparent
与完全透明的#FFFFFF
相同,因此在ARGB表示法#00FFFFFF
中。你想要的是一个完全透明的#000000
,所以在ARGB表示法中这是#00000000
。
使用ARGB表示法,我想这就是你要找的东西:
<Grid Height="20">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#00000000" Offset="0"/>
<GradientStop Color="#ff000000" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
</Grid>