小编Man*_*nel的帖子

WPF:如何避免图像离开Canvas的边界?

我有一个画布作为图像查看器.它的背景用于放置图像,我想在其上放置另一个图像.所以,场景是这样的:

 <Canvas Name="VisorCanvas"  Height="514"  Width="720">
   <Canvas.Background>
   <ImageBrush />
   </Canvas.Background>
   <Image Name="foreground"  />
</Canvas>
Run Code Online (Sandbox Code Playgroud)

我在后面的代码(C#)中动态插入图像.

问题是如果图像太大,那么图像会超出Canvas的边界.例如:我有一个不相关的背景图像,我想通过以下方式在Canvas面板(在其背景之上)显示一个正方形:

  • 在任何情况下,方形图像都将调整大小.
  • 如果它比帆布的尺寸小,我只是展示它.
  • 如果它在任何尺寸(宽度或高度)都更大,我需要裁剪它或设置透明图像的一部分.这样做我实现了电视模式或类似的东西,因为图形总是看起来在画布的"内部"(虽然部分被裁剪)

我该怎么办?我试过了:

  • 使用CroppedBitmap裁剪图像但不准确.
  • 要通过额外的opacityMask图像使用透明度,但我需要从原始图像创建一个掩码位图(具有透明度),我不知道该怎么做.
  • 要使用RenderTargetBitmap创建"照片"并使用此方法的结果替换图像,但我不能.

如果有人能够阐明它,我将不胜感激.

wpf transparency canvas

6
推荐指数
1
解决办法
9279
查看次数

WPF:如何将简单的动画应用于标签?

我有一个里面有图片的标签。我想应用一个简单的动画:在加载标签后(或何时可见或其他)更改不透明度属性以实现淡入效果

但这不起作用:

<Label ContentTemplate="{DynamicResource ImageLabelDataTemplate}"  Canvas.Left="36" Canvas.Top="394" Height="116" Name="PreviousVirtualButton" Width="100" Visibility="Hidden">
                <Label.Style>
                    <Style TargetType="Label">
                        <Style.Triggers>
                            <Trigger Property="IsVisible" Value="True">
                                <Trigger.EnterActions>
                                    <BeginStoryboard>
                                        <Storyboard TargetProperty="Opacity">
                                            <DoubleAnimation  Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:5" />
                                        </Storyboard>
                                    </BeginStoryboard>
                                </Trigger.EnterActions>
                            </Trigger>                            
                        </Style.Triggers>
                        </Style>
                </Label.Style>
            </Label>
Run Code Online (Sandbox Code Playgroud)

我想看看标签是如何在屏幕上淡入的。

提前致谢。

wpf animation label triggers

0
推荐指数
1
解决办法
9016
查看次数

标签 统计

wpf ×2

animation ×1

canvas ×1

label ×1

transparency ×1

triggers ×1