以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]GDI+如何将图片转存为ico格式  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=54126)

--  作者:33888
--  发布时间:2014/7/22 12:57:00
--  [求助]GDI+如何将图片转存为ico格式

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
g.DrawImage(getImage("1.jpg"),0,0,32,32)
p.Repaint()
p.Save(ProjectPath & "\\Images\\2.ico")

 

用上面的代码,保存的图片,不是ico格式的。


--  作者:Bin
--  发布时间:2014/7/22 14:12:00
--  
getImage("1.jpg").Save(ProjectPath & "\\Images\\2.ico",System.Drawing.Imaging.ImageFormat.Icon)
--  作者:33888
--  发布时间:2014/7/22 15:23:00
--  
以下是引用Bin在2014-7-22 14:12:00的发言:
getImage("1.jpg").Save(ProjectPath & "\\Images\\2.ico",System.Drawing.Imaging.ImageFormat.Icon)

谢谢,试了一下,与p.Save(ProjectPath & "\\Images\\2.ico")代码一样,看似创建了一个ico的文件,实际不能使用的。


--  作者:有点甜
--  发布时间:2014/7/22 15:48:00
--  
Dim iconBmp As new Bitmap(getimage("d:\\test.jpg"), 32, 32)
Dim icon As Icon = Icon.FromHandle(iconBmp.GetHicon())
Dim fileStream As new System.IO.FileStream("d:\\test.ico", System.IO.FileMode.Create)
icon.Save(fileStream)
fileStream.Close()
[此贴子已经被作者于2014-7-22 15:49:12编辑过]

--  作者:33888
--  发布时间:2014/7/29 11:44:00
--  
以下是引用有点甜在2014-7-22 15:48:00的发言:
Dim iconBmp As new Bitmap(getimage("d:\\test.jpg"), 32, 32)
Dim icon As Icon = Icon.FromHandle(iconBmp.GetHicon())
Dim fileStream As new System.IO.FileStream("d:\\test.ico", System.IO.FileMode.Create)
icon.Save(fileStream)
fileStream.Close()
[此贴子已经被作者于2014-7-22 15:49:12编辑过]

测试通过,只是原来透明的底色转换后变成了黑色,甜版能否帮忙改进一下代码。


--  作者:有点甜
--  发布时间:2014/7/29 11:50:00
--  
 回复5楼,代码是改不了的,生成是怎样就怎样了。再者jpg文件,本来就没有透明可言的。
--  作者:33888
--  发布时间:2014/7/29 11:51:00
--  

用的是PNG图片

 


--  作者:有点甜
--  发布时间:2014/7/29 12:02:00
--  
以下是引用33888在2014-7-29 11:51:00的发言:

用的是PNG图片

 

 

没办法,查了下资料,好像.net是处理不了透明的


--  作者:33888
--  发布时间:2014/7/29 12:03:00
--  

哦,谢谢。