作者mongsq (孟)
看板C_and_CPP
标题Re: [问题] 关於windows form 的绘图问题
时间Sat Feb 28 18:13:54 2009
※ 引述《tyc5116 (累人啊....)》之铭言:
: 但是这样会有盖到的问题不是吗,假设两个pictureBox重叠的时候
: 下面的那一层不是就看不到了?,将背景设透明似乎也一样
: 我在MSDN上查到的结果
: http://msdn.microsoft.com/zh-tw/library/5y289054.aspx
: 若要建立绘制的图形物件
: 透过paint事件
: 从image物件建立
: 以creategraphic方法
: 前两者大大你说了,1不是我所要的,2好像会有重叠盖到的问题
: 3则比较像我所想要用的方法
: 不过我的想法是在我自己建的class内的成员函数中使用creategraphic
: 但文中的说明似乎是限制在控制项或表单中才能使用
: 请问有什麽变通的方法吗?
如果你要用的是类似图层的东西
可以建立多个Bitmap物件 要合成显示时再把他们画在同一个Bitmap上
用Graphics的DrawImage方法
程式码大概像下面这样
Graphics^ g1 = Graphics.FromImage(bitmap1);
g1->DrawXXX(...);
Graphics^ g2 = Graphics.FromImage(bitmap2);
g2->DrawXXX(...);
Graphics^ g3 = Graphics.FromImage(bitmap3);
g3->DrawImage(bitmap1,...);
g3->DrawImage(bitmap2,...);
我是没自己试过啦
但应该是行的通的 XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.171.70.133
1F:推 tyc5116:晚点我再来试一下,另外,画好的图可以存起来,下次再改吗 02/28 18:38
2F:→ tyc5116:我在MSDN看到一个SAVE的函数,但描述好像怪怪的 02/28 18:38
3F:推 bbbbbbjeff:Image->Save(FileName,ImageFormat::Jpeg); 03/01 13:11