C#实现将图片设置成圆形形式显示(乘风破浪的姐姐第三季)

网友投稿 1051 2022-09-13

C#实现将图片设置成圆形形式显示(乘风破浪的姐姐第三季)

C#实现将图片设置成圆形形式显示(乘风破浪的姐姐第三季)

首先在Form中添加一个控件,然后将控件的背景BackColor设置成透明

然后分别设置控件的Image: Image image = Image.FromFile(UserLoginInfor.LoginInfor.userIco);

获取image的width、height:width= image.width、height=image.height

然后实现该功能,具体代码如下:(pictureBox1:控件的名称)

Image image = Image.FromFile(UserLoginInfor.LoginInfor.userIco);

this.pictureBox1.Image = CutEllipse(Image.FromFile(UserLoginInfor.LoginInfor.userIco), new Rectangle(0, 0,image .Width, image .Height), new Size(image .Width, image .Height));

最后创建一个自定义方法CutEllipse:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

private Image CutEllipse(Image img, Rectangle rec, Size size)

       {

           Bitmap bitmap = new Bitmap(size.Width, size.Height);

           using (Graphics g = Graphics.FromImage(bitmap))

           {

               using (TextureBrush br = new TextureBrush(img, System.Drawing.Drawing2D.WrapMode.Clamp, rec))

               {

                   br.ScaleTransform(bitmap.Width / (float)rec.Width, bitmap.Height / (float)rec.Height);

                   g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

                   g.FillEllipse(br, new Rectangle(Point.Empty, size));

               }

           }

           return bitmap;

       }

参考网址:https://q-blogs.com/q/11565/

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于Windows8与Visual Studio11开发第一个USB内核驱动程序
下一篇:基于Visual Studio2012实现Windows8的metro界面笔迹手写识别文档
相关文章

 发表评论

暂时没有评论,来抢沙发吧~