以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何直接保存并调用GDI+绘制的图片  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41338)

--  作者:东坡一剑
--  发布时间:2013/10/17 0:48:00
--  如何直接保存并调用GDI+绘制的图片
帮助文件中好像找不到直接保存并调用GDI+绘制的图片的方法(总是要求做一个窗口,插入painter控件,再通过painter的save方法来保存),而实际上这种需求是存在的,比如将文字生成为图片,再和另外一些图片合并成一个图片然后调用。比如我现在做的一个标签打印就遇到这个问题。不知高手们有什么办法?
[此贴子已经被作者于2013-10-17 0:58:21编辑过]

--  作者:程兴刚
--  发布时间:2013/10/17 1:37:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目17.foxdb


--  作者:东坡一剑
--  发布时间:2013/10/17 9:57:00
--  

谢谢程老师,还有一个问题:我用GDI+将文字绘图再保存,背景是黑色的,白色的背景该怎么弄?

 


--  作者:Bin
--  发布时间:2013/10/17 10:04:00
--  
你是怎么做的上个例子看看.
--  作者:程兴刚
--  发布时间:2013/10/17 10:06:00
--  
gdi+仅靠这样简单的代码是不能实现图片格式转换的,您写入的图片是什么格式,保存时还用什么格式,否则,黑背景、图片失真等问题均会出现,转换应该还需要代码,涉及到图片格式转换处理,应该复杂一些,这个我也不太明白。
--  作者:东坡一剑
--  发布时间:2013/10/17 10:50:00
--  

做了个例子传上来了,代码在窗口1中,窗口2是另一个问题。劳驾老师了! 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图片.zip


--  作者:狐狸爸爸
--  发布时间:2013/10/17 11:01:00
--  

绘制之前,将背景设置为白色:

 

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
g.Clear(Color.White)
g.DrawArc(Pens.Red, 0, 0, 30, 40, 0, 135)
g.DrawEllipse(Pens.Blue, 20, 20, 90, 45)
p.Repaint() \'显示绘制好的图片
p.Save("c:\\data\\abc.jpg")


--  作者:东坡一剑
--  发布时间:2013/10/17 11:02:00
--  
谢谢狐爸!
--  作者:程兴刚
--  发布时间:2013/10/17 11:05:00
--  
如果和原来的格式不一致,好像图片要是真,您自己注意一下,我没有作进一步测试。
--  作者:东坡一剑
--  发布时间:2013/10/17 14:18:00
--  

程老师:感谢你的提醒,我会作进一步的测试。

其实我更想知道如果没有一个可见的painter控件能不能用GDI+ 绘图并调用,你有没有什么高招?