WPF Cursor类中的两个构造函数:

public Cursor(Stream cursorStream)
public Cursor(string cursorFile)

以上的构造函数所使用的的资源均是 ani 或 cur的文件,并不支持图片的方式生成。

    /// This class allow you create a Cursor form a Bitmap
/// </summary>
internal class BitmapCursor : SafeHandle
{ public override bool IsInvalid
{
get
{
return handle == (IntPtr)(-1);
}
} public static Cursor CreateBmpCursor(Bitmap cursorBitmap)
{ var c = new BitmapCursor(cursorBitmap); return CursorInteropHelper.Create(c);
} protected BitmapCursor(Bitmap cursorBitmap)
: base((IntPtr)(-1), true)
{
handle = cursorBitmap.GetHicon();
} protected override bool ReleaseHandle()
{
bool result = DestroyIcon(handle); handle = (IntPtr)(-1); return result;
} [DllImport("user32")]
private static extern bool DestroyIcon(IntPtr hIcon);
}

提供的扩展方法:

public static Bitmap BitmapSourceToBitmap(this BitmapSource source)
{
using (var stream = new MemoryStream())
{
var e = new BmpBitmapEncoder();
e.Frames.Add(BitmapFrame.Create(source));
e.Save(stream); var bmp = new Bitmap(stream); return bmp;
}
}

转自:http://www.cnblogs.com/zhouyinhui/archive/2010/05/28/1746502.html

WPF 创建自定义鼠标光标指针的更多相关文章

  1. WPF 自定义鼠标光标

    在程序中使用自定义鼠标光标的三种方式: RadioButton senderButton = sender as RadioButton; 方式一:                       str ...

  2. 在.net桌面程序中自定义鼠标光标

    有的时候,一个自定义的鼠标光标能给你的程序增色不少.本文这里介绍一下如何在.net桌面程序中自定义鼠标光标.由于.net的桌面程序分为WinForm和WPF两种,这里分别介绍一下. WinForm程序 ...

  3. 自定义鼠标光标cursor

    通过css属性 Cursor:url()自定义鼠标光标. {cursor:url('图标路径'),default;} url是自定义鼠标图标路径 default指的是定义默认的光标(通常是一个箭头), ...

  4. WPF窗体隐藏鼠标光标的方法

    原文:WPF窗体隐藏鼠标光标的方法 要引用 System.Windows.Input;   Mouse.OverrideCursor = Cursors.None; 去掉 Override 则使用: ...

  5. WPF 创建自定义窗体

    在前面的一篇博客"WPF 自定义Metro Style窗体",展示了如何创建一个类似于Metro Style的Window,并在程序中使用.但是这个窗体不能够自由的改变大小.今天的 ...

  6. 自定义鼠标光标,制作cur,设置热点,中心点。

    ..没哈好说的,,只是推荐一个软件 ArtCursor..非常好用. 关于另外一个更改光标的重要问题:鼠标的hotspot,也就是鼠标的作用点问题,本人关于这个问题纠结了很久,始终无法找到更改HCUR ...

  7. 【WPF】自定义鼠标样式

    /// <summary> /// This class allow you create a Cursor form a Bitmap /// </summary> inte ...

  8. C# winform 自定义鼠标光标

    第一种:(调用系统API)首先引入两个命名空间代码如下: using System.Runtime.InteropServices;using System.Reflection;导入API代码如下: ...

  9. [WPF]自定义鼠标指针

    原文:[WPF]自定义鼠标指针 [WPF]自定义鼠标指针 周银辉 看看WPF Cursor类的两个构造函数吧:  * f));            g.Flush();            g.D ...

  10. css Cursor:url()自定义鼠标指针样式为图片

    css自定义鼠标指针样式为图片Cursor:url()的使用,今天在项目中,要用到自定义鼠标样式,格式: css:{cursor:url('绝对路径的图片(格式:cur,ico)'),-moz-zoo ...

随机推荐

  1. HTML5 进度条

    1. <progress>标签 进度条 value属性:规定进程的当前值.默认为0 max属性:规定需要完成的值. PS:这里没有最小值设置,或者说最小值一律为0 <progress ...

  2. 如何在 Epicor 中计算绩效

    制造性能是任何生产工序的关键,允许企业衡量和评估其效率和生产力水平. 我们将探讨如何在 Epicor 中计算制造性能.计算整体设备效率(OEE) 时性能指标的价值.如何解释制造指标以及在 Epicor ...

  3. 前端每日一知之让Chrome支持小于12px的文字

    脑图在线链接 本文内容依据[js每日一题]公众号精彩文章总结而来

  4. 【Java】【Maven】002 修改maven仓库的路径与配置阿里云镜像仓库

    [Java][Maven]001 下载与配置环境 - 萌狼蓝天 - 博客园 (cnblogs.com/mllt) 修改maven仓库的路径 maven指定的本地仓库的默认位置是在c盘,默认在:C:\U ...

  5. Go设置GOPROXY国内加速

    go env -w GOFLAGS=-buildvcs=false 在 Linux 或 macOS 上面 需要运行下面命令(或者,可以把以下命令写到 .bashrc 或 .bash_profile 文 ...

  6. checker jenkins 启动配置

    chmod -R 755 bin scp target/*.jar ubuntu@x:/home/ubuntu/checker/ scp config/*.yml ubuntu@x:/home/ubu ...

  7. Could not install packages due to an OSError: ("Connection broken: ConnectionResetError(10054, '远程主机强迫关闭 了一个现有的连接。', None, 10054, None)",

    今天安装微软AI量化投资平台Qlib遇到报错 ERROR: Could not install packages due to an OSError: ("Connection broken ...

  8. Qt音视频开发49-通用截图截屏

    一.前言 采用了回调方式的视频通道,截图只需要对解析好的QImage对象直接保存即可,而对于句柄的形式,需要调用不同的处理策略,比如vlc需要用它自己提供的api接口函数libvlc_video_ta ...

  9. 导出 wireshark 网络包二进制数据的三种方法

    Wireshark 是一款很好用的 UI 抓包工具,在 Windows.macOS 上都可以使用.最近开发的一个统计日志上报功能,发送的网络请求明明可以收到 server 正确的响应,但却捞取不到相关 ...

  10. IM开发干货分享:IM客户端不同版本兼容运行的技术思路和实践总结

    本文由巩鹏军分享,原题"IM兼容性基建",本文有修订. 1.引言 一个成熟的IM成品,在运营过程中随着时间的推移,会发布不同的版本,但为了用户体验并不能强制要求用户必须升级到最新版 ...