|
C# 制作出任意不规则按钮! (原理根据背景图绘制button)
发表日期:2006-8-31
|
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<bitmap.Width; colNext++) if(bitmap.GetPixel(colNext, row) == colorTransparent) break; graphicsPath.AddRectangle(new Rectangle(colOpaquePixel, row, colNext - colOpaquePixel, 1)); col = colNext; } } } return graphicsPath; } http://www.cnblogs.com/zengping/archive/2006/08/30/490720.html
|
|
上一篇:C#中ref和out的使用小结
人气:8169
下一篇:几个C#编程的小技巧
人气:7503 |
浏览全部C#的内容
Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐
|
|