WINForm,我用GDI+画图比如画一条直线,再画一个圆。画完之后我怎么选中以前画的图进行修改删除等两个问题?
我有两个问题
1.我用GDI+画图比如画一条直线,再画一个圆。画完之后我怎么选中以前画的图进行修改删除?
2.另外我我画完图形以后怎么保存,然后下次打开的时候还可以修改?
希望得到您的帮助
问题点数:40、回复次数:10Top
1 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2006-07-01 10:49:51 得分 0
GDI+ is not Photoshop ............
只负责画,不包修改....
对每个操作结果生成图形对象,然后保存图形对象,是非常麻烦的.
另外一个可选的方法是记录你的所有操作的序列,然后每次根据序列生成图片,你修改的时候并不是修改图片,而是修改操作序列,然后用新的序列生成一张全新的图片(就是你修改后的图了)Top
2 楼zuilong1208(醉龙)回复于 2006-07-01 11:07:07 得分 0
你可以研究一下PaintDotNet(微软支持的一个开源的绘图软件)!
另外是你的思路不对,作绘图软件,需要很好的规划!
Top
3 楼xuyu130(春)回复于 2006-07-04 00:09:15 得分 0
那怎么办?Top
4 楼zhgroup(王员外)回复于 2006-07-04 08:23:24 得分 0
上www.codeproject.com搜一个叫"drawtools"的,Top
5 楼cscer(时光之石头)回复于 2006-07-04 08:38:31 得分 0
可以看看SmartDraw软件Top
6 楼cscer(时光之石头)回复于 2006-07-04 08:40:34 得分 0
我以前做这个功能的时候
具体实现方式是
每次画图都创建一个Label对象,在Label上画图
最后对Label进行修改和删除
保存的话,直接保存Label属性即可
另外还可以移动、旋转和置前置后操作Top
7 楼mlhy20060406()回复于 2006-07-04 10:08:13 得分 0
markTop
8 楼sunmoon5460(弓长日月)回复于 2006-07-09 12:42:02 得分 0
mark
Top
9 楼superbug1984(每天坚持灌下水,这样才有内裤穿 :D)回复于 2006-07-09 13:07:04 得分 0
我的做法是在内存中保存每步的操作,需要删除某个对象,例如一条直线,让picturebox重新绘制......
保存到文件的做法也是序列化对象,读到内存后反序列化。Top
10 楼ms44(ms44)回复于 2006-08-21 15:37:21 得分 0
zhgroup说的不错的。
可以去看看。
PAINTDOTNET不适合你。Top




