繁体   English   中英

尝试更改图像中透明部分的颜色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM