在我们开发的过程中,有时需要我们来自定义鼠标的形状和大小,刚巧前一阵子正好用到了这个技术,找了好多资料,基本上都是黑白色的鼠标风格实现,而我要的则是自定义大小和彩色风格的光标样式。百度上的资源又太少,费了九牛二虎之力也没有办法解决,后来不知道怎么的居然找到了最终的解决方法;废话不多说了,上代码吧:
/// <summary> /// 创建鼠标光标文件 /// </summary> /// <returns></returns> public static Cursor CreateCursor(Bitmap bitmap) { if(bitmap==null){return null;} Size size = bitmap.Size; Bitmap cursorBitmap = new Bitmap(size.Width, size.Height * 2); Graphics graphics = Graphics.FromImage(cursorBitmap); graphics.Clear(Color.FromArgb(0, 0, 0, 0)); graphics.ResetClip(); Rectangle rect = new Rectangle(0, 0, size.Width, size.Height); graphics.DrawImage(bitmap, rect); Cursor cursor = new Cursor(cursorBitmap.GetHicon()); graphics.Dispose(); cursorBitmap.Dispose(); return cursor; }
实现时只要调用方法传入图片资源,即可得到该图片对应的光标对象,和原图一模一样哦。希望对你有帮助。