□C#制作出任意不规则按钮!(原理根据背景...... C# 制作出任意不规则按钮! (原理根据背景图绘制button) using System.Drawing.Drawing2D; private void button3_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { this.button3.Cursor = Cursors.Hand; Bitmap bmpBob =(Bitmap)this.button3.Image; GraphicsPath graphicsPath = CalculateControlGraphicsPath(bmpBob); this.button3.Region = new Region(graphicsPath); } private static GraphicsPath CalculateControlGraphicsPath(Bitmap bitmap) { GraphicsPath graphicsPath = new GraphicsPath(); Color colorTransparent = bitmap.GetPixel(0, 0); int colOpaquePixel = 0; for(int row = 0; row < bitmap.Height; row ++) { colOpaquePixel = 0; for(int col = 0; col < bitmap.Width; col ++) { if(bitmap.GetPixel(col, row) != colorTransparent) { colOpaquePixel = col; int colNext = col; for(colNext=colOpaquePixel; colNext break; graphicsPath.AddRectangle(new Rectangle(colOpaquePixel, row, colNext - colOpaquePixel, 1)); col = colNext; } } } return graphicsPath; } |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 23:27 , Processed in 0.232665 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.