首页 > 其他分享 >WPF 设置图片圆角的3种方式

WPF 设置图片圆角的3种方式

时间:2023-09-02 16:56:39浏览次数:43  
标签:圆角 填充 设置 纵横 WPF 图片

在WPF中,设置页面布局的时,遇到了设置图片圆角问题,试了以下几种方式,都能实现:

第一种:这种图片是跟着border设置的圆角而改变的,自适应图片的大小

<Border x:Name="b_IsChecked"  Width="48" Height="48" HorizontalAlignment="Right" VerticalAlignment="Top" CornerRadius="0,8,0,0">
<Border.Background>
<ImageBrush ImageSource="{Binding CheckImageUrl}"></ImageBrush>
</Border.Background>
</Border>

 效果:

 

或者:

<Border CornerRadius="50" BorderBrush="Blue" BorderThickness="2" Width="200" Height="200">
<Border.Background>
<ImageBrush ImageSource="\pj\123.jpg" />
</Border.Background>
</Border>

效果:

 

第二种:根据x和y来设置圆角,感觉这种比较适合只设置上边的圆角比较适合

<Image Width="123" Height="80" Margin="0,0,0,0" Source="jpj\123.jpg" Stretch="Fill" VerticalAlignment="Center" HorizontalAlignment="Center">
<Image.Clip>
<RectangleGeometry RadiusX="30" RadiusY="10" Rect="0,0,123,90"/>
</Image.Clip>
</Image>

效果:

 

第三种:

<!--border1样式-->
<Style x:Key="border1style" TargetType="{x:Type Border}">
<Setter Property="Width" Value="38"></Setter>
<Setter Property="Height" Value="23"></Setter>
<Setter Property="Margin" Value="3,3,0,0"></Setter>
<Setter Property="CornerRadius" Value="0,0,4,4"></Setter>
<Setter Property="BorderBrush" Value="Black"></Setter>
<Setter Property="BorderThickness" Value="0"></Setter>
</Style>
<!--border2样式-->
<Style x:Key="border2style" TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="0,0,4,4"></Setter>
<Setter Property="Width" Value="38"></Setter>
<Setter Property="Height" Value="23"></Setter>
<Setter Property="Background" Value="#E3E3E3"></Setter>

</Style>

<Border Style="{StaticResource border1style}">
<Grid>
<Border Name="myBorder2" Style="{StaticResource border2style}" />
<Image Source="{Binding img2}" Width="37" Height="23" Stretch="Fill">
<Image.OpacityMask>
<VisualBrush Visual="{Binding ElementName=myBorder2}"/>
</Image.OpacityMask>
</Image>
</Grid>
</Border>

 

效果:

 

 

感觉还是第一中比较简单,中间我有遇到图片不自适应大小的问题,然后我加上这个属性就好了,Stretch="Fill",这个属性的意思是

填充整个空间,但不保持纵横比。 图像不会被裁剪,但可能会发生拉伸。

总结:

Stretch 状态类似于许多电视机上的图片大小设置。

  • None 显示原始大小的内容的原始分辨率。
  • Uniform 在保持纵横比和图像内容的同时填充尽可能多的空间。这可能会导致在视频的边缘出现水平和垂直黑色条。这类似于宽屏模式。
  • UniformToFill 在保持纵横比的同时填充整个空间。这可能会导致某些图像被裁剪。这类似于全屏模式。
  • Fill 填充整个空间,但不保持纵横比。 图像不会被裁剪,但可能会发生拉伸。这类似于拉伸模式。

 

标签:圆角,填充,设置,纵横,WPF,图片
From: https://www.cnblogs.com/jnyyq/p/17673877.html

相关文章

  • WPF在EnsureHandle之前设置WindowStyle提升性能
    本文将记录一个在WPF应用程序启动过程中的性能优化点。如果一个窗口需要设置WindowStyle属性,那么在窗口EnsureHandle之前,设置WindowStyle属性将会比在EnsureHandle之后设置快不少在dotTrace里的一次测量在窗口EnsureHandle之后设置WindowStyle属性的时间大概是2......
  • python+selenium+Autolt实现文件或图片的上传
    python+selenium+Autolt实现文件或图片的上传1、先下载AUTolt安装包,具体下载链接:链接:https://pan.baidu.com/s/1dfankuPn8O_ckFB4qEsC1Q提取码:13gt2、下载完成后,先安装autoit-v3-setup.exe,再安装SciTE4AutoIt3.exe,具体的安装步骤略;3、打开安装目录下的Au3Info_x64.exe,(64位的......
  • 在LaTeX的几何图形内嵌入图片
    本文简单介绍在LaTeX中如何在几何图形内嵌入图片。1、环境操作系统:Ubuntu22.04编译方式:XeLaTeX2、完整示例代码%博客园,繁星间漫步,陆巍的博客\documentclass{ctexart}\usepackage{graphics}%图形支持\usepackage{tikz}\usetikzlibrary{shapes.geometric,positionin......
  • WPF引入Metro后默认样式被更改,想使用原始样式的办法
    参考WPF引入HandyControl后默认样式被更改,想使用原始样式的办法_冰激凌克星的博客-CSDN博客<ButtonStyle="{x:Null}"Content="取消HandyControl样式"Margin="20"/>将Style设置成null......
  • uniapp随机生成图片
    //生成从minNum到maxNum的随机数         randomNum(minNum,maxNum){            switch(arguments.length){               case1:                  returnparseInt(Math.random()*minNum+1......
  • vscode和像素大厨使用图片时遇到的问题
    vscode使用图片所遇到的问题1、截屏出来的图片放到像素大厨量时发现量出来的像素太大解决方法一:设置设计图为2x,这样能把误差降低很多,但跟实际大小还是差了一些,可以自己在微调。如下图所示解决方法二:右键图片选择编辑或用画图工具打开,里面设置重新调整大小,调整为你截屏的那个......
  • WPF使用Blazor的快速案例
    下面我们将讲解在WPF中使用Blazor,并且使用Blazor做一些文件编辑操作,下面是需要用到的东西WPFBlazorMasaBlazorMonaco安装MasaBlazor模板使用CMD指令安装模板dotnetnewinstallMASA.Template新建MasaBlazorWPFApp找到如图的模板,然后点击下一步下一步,新建......
  • WPF 动态更改启动窗体startupUri
    第一步:在App.xaml里,把StartupUri=""去掉,改成Startup="Application_Startup"第二步:在App.xaml.cs里,增加Application_Startup事件:privatevoidApplication_Startup(objectsender,StartupEventArgse){ApplicationcurrApp=Application.Current;currAp......
  • PPT图片处理教程5大抠图方法:堪比PS!
    PPT图片处理教程5大抠图方法:堪比PS! 。如何在制作PPT的过程中提取图片。比如,当你准备给妹子做一份PPT的时候,妹子想要把N多图片放在里面,但又不想做的太LOW,这要怎么解(gai)咯?如果你对今天的主题还有兴趣,就可以接着看下去。思想准备:1、放下节操,慢慢看;2、带上忍耐心,忍受逗逼李益达......
  • Node.js 服务端如何实现图片防盗链 All In One
    Node.js服务端如何实现图片防盗链AllInOne无扩图片展名URLblobURL一次性链接设置有效期链接禁用缓存ReferrerPolicy,referer禁用IframeCORS白名单动态生成的blob链接,过一段时间后,刷新页面回自动失效......