[英]Trying to change color of transparent part in an image
嗨,我正在尝试更改图像的透明部分的颜色。请实际使用该图像作为网格中的背景图像,是否有任何方法可以更改该图像的外部(即透明部分)的颜色,并且没有任何效果应该应用到不透明图像的主要部分。在“ FwdBtn”图像外部的拍打上,应更改主图像的透明部分。 Xaml
<Grid.Background>
<ImageBrush x:Name="imgbg" ImageSource="Assets/LearnColor/bg.png"
/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition x:Name="rowDefHeaderPanel" Height="1*"/>
<RowDefinition x:Name="rowDefContentPanel" Height="3*"/>
<RowDefinition x:Name="rowDefFooterPanel" Height="1*"/>
</Grid.RowDefinitions>
<RelativePanel x:Name="Headerpanel" Grid.Row="0" Margin="0,0,0,0">
<Image x:Name="prevBtn"
Source="Assets/LearnColor/Button/btn_previous_arrow.png"
RelativePanel.AlignLeftWithPanel="True"
Margin="0,33,-246,23"
Tapped="BckImgChng" HorizontalAlignment="Right" Width="88" d:LayoutOverrides="Height"/>
<Image x:Name="FwdBtn"
Source="Assets/LearnColor/Button/btn_next_arrow.png"
Height="88"
RelativePanel.AlignRightWithPanel="True"
Margin="-152,0,250,-121"
Tapped="FwdImgChng" VerticalAlignment="Bottom" d:LayoutOverrides="HorizontalAlignment"/>
<Image x:Name="Header"
Source="Assets/LearnColor/Header/_0000_header_0.png" Width="440"
RelativePanel.AlignVerticalCenterWithPanel="True"
Margin="0,-39,-814,-62" HorizontalAlignment="Right"
>
<Image.Triggers>
<EventTrigger RoutedEvent="Image.Loaded">
<BeginStoryboard>
<Storyboard x:Name="Blinkopr">
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" AutoReverse="True" Duration="0:0:0.9" RepeatBehavior="Forever"
Storyboard.TargetName="Header"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
</Image>
<TextBlock x:Name="HeaderName"
Text="Yellow"
FontFamily="Font/BALLOON.TTF#BALLOON"
RelativePanel.AlignVerticalCenterWithPanel="True"
Margin="543,13,-273,7" Foreground="White" FontSize="25" FontStyle="Normal" FontWeight="ExtraBold" />
</RelativePanel>
C#代码
private void FwdImgChng(object sender, TappedRoutedEventArgs e)
{
//if (currentIndex == 11)
//{ return; }
currentIndex++;
if (currentIndex > 10)
{
currentIndex = 10;
return;
}
Header.Source = new BitmapImage(new Uri("ms-appx:///Assets/LearnColor/Header/_0000_header_" + currentIndex + ".png"));
image.Source = new BitmapImage(new Uri("ms-appx:///Assets/LearnColor/Object/ob_" + currentIndex + "_0.png"));
prevObjBtn.Source = new BitmapImage(new Uri("ms-appx:///Assets/LearnColor/Button/prev" + currentIndex + ".png"));
fwdObjBtn.Source = new BitmapImage(new Uri("ms-appx:///Assets/LearnColor/Button/next" + currentIndex + ".png"));
HeaderName.Text = Headername[currentIndex];
objNameWritten.Text = objnamewritten[currentIndex];
objNameWritten.Foreground = new SolidColorBrush(HColorname[currentIndex]);
mediaElement1.Source = new Uri("ms-appx:///Assets/LearnColor/Objectnamesmp3/C" + currentIndex + ".mp3");
//mediaElement1.AutoPlay = true;
}
将网格放在另一个控件中并为其设置背景,您可以使用任何喜欢的控件,例如,我在这里使用了另一个网格:
<Grid Background="#c0c0c0">
<!-- Your grid here-->
</Grid>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.