Delphi 如何将*.cur(Windows光标)流转换为位图?

Delphi 如何将*.cur(Windows光标)流转换为位图?,delphi,bitmap,cursor,delphi-2010,Delphi,Bitmap,Cursor,Delphi 2010,使用LoadCursorFromFile API调用并在位图上调用DrawIcon(…,hCursor),可以很容易地将cur文件转换为位图 但我如何从流中加载它而不需要太多的手工编码并转换成TBitmap呢 有一个详细描述.cur和.ico文件格式的。这很简单–不久前,我编写了一些Delphi代码来阅读.ico文件,并将本文用作参考。有一个详细介绍.cur和.ico文件格式的示例。这很容易–不久前,我编写了一些Delphi代码来阅读.ico文件,并将本文用作参考。使用。使用。它并不是真正的共享

使用LoadCursorFromFile API调用并在位图上调用DrawIcon(…,hCursor),可以很容易地将cur文件转换为位图


但我如何从流中加载它而不需要太多的手工编码并转换成TBitmap呢

有一个详细描述.cur和.ico文件格式的。这很简单–不久前,我编写了一些Delphi代码来阅读.ico文件,并将本文用作参考。

有一个详细介绍.cur和.ico文件格式的示例。这很容易–不久前,我编写了一些Delphi代码来阅读.ico文件,并将本文用作参考。

使用。

使用。

它并不是真正的共享形式,因为它只执行非常有限的任务,而不是您需要的任务。我肯定那里有图书馆。你知道Windows API GetIconInfo吗?你可以通过一个HICON,然后拿回一张HBITMAP。然后,您可以获取bmp:TBitmap并写入bmp.Handle:=hBmp。这对你有用吗?还有,你需要知道面具的图像吗?我猜现代的游标是alpha混合的,所以它们可能来自GetIconInfo,带有掩码位图句柄NULL和主位图句柄中带有alpha通道的32bpp位图。它不是真正的共享形式,因为它只执行非常有限的任务,这不是您需要的。我肯定那里有图书馆。你知道Windows API GetIconInfo吗?你可以通过一个HICON,然后拿回一张HBITMAP。然后,您可以获取bmp:TBitmap并写入bmp.Handle:=hBmp。这对你有用吗?还有,你需要知道面具的图像吗?我猜现代的游标是alpha混合的,所以它们可能来自GetIconInfo,掩码位图句柄为NULL,主位图句柄中有alpha通道的32bpp位图。