2009-07-04 1 views
1

Я пытаюсь написать код, который загружает .png-файл, прикрепляет информацию о горячих точках и сохраняет его в .cur-файле.Сохраните пользовательский курсор, созданный CreateIconIndirect, в файл cur

До сих пор у меня есть код, чтобы создать System.Windows.Forms.Cursor объект, который я выложу ниже:

Bitmap bmp = new Bitmap(source_image); 
IconInfo inf = new IconInfo(); 
GetIconInfo(bmp.GetHicon(), ref inf); 
inf.xHotspot = /* code to get x hotspot */; 
inf.yHotspot = /* code to get y hotspot */; 
inf.fIcon = false; 
IntPtr iconPtr = CreateIconIndirect(ref inf); 
return new Cursor(iconPtr); 

Я взял его прямо из this tutorial.

У меня есть курсор для правильной работы в моем приложении, похоже, что нет способа сохранить его в файле. Любая помощь ребята?

ответ

2

Я не думаю, что есть функция сохранения в файл, вам, вероятно, придется самостоятельно записать файл с правильными заголовками, см. Icons in Win32 для деталей формата (x и y в плоскостях и полях bpp IIRC)

+0

Это то, что мне пришлось сделать, чтобы сделать пользовательские курсоры, сохранить в ico и изменить необходимые биты в шестнадцатеричном редакторе. В конце концов, я мог бы сделать это программно. – MiffTheFox

+0

И да, я использовал Icon.Save, чтобы сохранить его в MemoryStream, а затем просто установите необходимые байты вручную. – MiffTheFox

+0

@MiffTheFox Мне нужно сохранить файлы .cur, можете ли вы дать мне руку с этим? как вы сделали это программно в C#? Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^