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ファイルを保存したときのように透明な背景にする方法を御指導下さい。
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"
魔界の仮面弁士様
早速頂き有り難う存じました。
透明に1KBで保存でき感激致しました。
MSDNでのImageListのExtractIconの説明がやっと少し解ってきました。
実を申しますと御質問しました保存作業は、Windows APIのExtractIcon,DrawwIcon,DestroyIconを使ってDLL
ファイルから抽出したアイコンを単独に保存する方法を教えて頂くことが目的でした。重ねて厚くお礼申し上げます。
ツイート | ![]() |