自作アイコンを保存するには

解決


yaachan  2004-10-26 15:51:40  No: 86260  IP: [192.*.*.*]

Visuaal Basicで32*32のPictureBoxに作成したアイコンを保存する方法を御教示下さい。

たとえば
Picture1.line(5,5)-(25,25),&HFF,BF
Picture1.Pset(0,0),&H0
を描画したとします。

SavePicture Picture1.Image, "Sample.ico"
または
Picture1.Picture=Picture1.Image
SavePicture Picture1.Picture, "Sample.ico"
として保存しますとImageのSaveとなりBackColrがそのままの色で保存されてしまいます。

「Graphics」にある*.icoやCursorsフォルダにある*.curファイルを保存したときのように透明な背景にする方法を御指導下さい。

編集 削除
魔界の仮面弁士  2004-10-26 16:56:57  No: 86261  IP: [192.*.*.*]

ImageListコントロールを使ってみてください。

Dim Pic As Picture
ImageList1.MaskColor = 透過させたい色
With ImageList1.ListImages
    .Clear
    Set Pic = .Add(Picture:=Picture1.Image).ExtractIcon()
End With
SavePicture Pic, "C:\TEST.ICO"

編集 削除
yaachan  2004-10-26 20:27:43  No: 86262  IP: [192.*.*.*]

魔界の仮面弁士様
早速頂き有り難う存じました。
透明に1KBで保存でき感激致しました。
MSDNでのImageListのExtractIconの説明がやっと少し解ってきました。
実を申しますと御質問しました保存作業は、Windows APIのExtractIcon,DrawwIcon,DestroyIconを使ってDLL
ファイルから抽出したアイコンを単独に保存する方法を教えて頂くことが目的でした。重ねて厚くお礼申し上げます。

編集 削除