社区
C#
帖子详情
用GDI+(C#语言)画图,图形保存问题
yuyue3
2008-11-23 04:30:59
我用GDI+(C#)语言编了个程序,单击按钮后出来个图形,然后鼠标可以拖动(已实现),但当第二次单击鼠标出来图形并拖动后,第一个图形就没有了。请问如何才能使前面的图形不消失?先谢谢各位了!我是个初学者。
...全文
436
12
打赏
收藏
用GDI+(C#语言)画图,图形保存问题
我用GDI+(C#)语言编了个程序,单击按钮后出来个图形,然后鼠标可以拖动(已实现),但当第二次单击鼠标出来图形并拖动后,第一个图形就没有了。请问如何才能使前面的图形不消失?先谢谢各位了!我是个初学者。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tonny008
2008-11-25
打赏
举报
回复
矢量么?那就定义一堆东西保存你的画图的数据,可以参考.dxf文件
benyouyong
2008-11-25
打赏
举报
回复
protected override void OnPaint(PaintEventArgs e)
{
//绘制图片方法
}
bluelight68
2008-11-25
打赏
举报
回复
GDI中,你不添加一个BITMAP到CD中,CD是没有的。
当你第2次点击鼠标的时候,你的程序中,肯定是加载第2张图片并显示,没错吧,那么第一张图片呢??
首先你要搞清楚一点,Windows显示图片的变化是要刷新的,如果你刷新了,那么你就必须得重绘刷新的无效区域。在你的例子中,无效区域应该是整个Dialog的Client区域,那么当你在画第2张图片的时候,第一张图片你同样得画上去,才会显示两张图片,因为你在画第2张图片的时候,第1张图片没有再加载了,被屏幕刷掉了。
方蓝
2008-11-24
打赏
举报
回复
我觉得你不如定义一个数组,点击按钮时就向数组新增一条数组。
然后在GDI+在OnPaint里循环绘出每个对象,要知道,GDI+对象在OnPaint不停的读取的(你调试一下就知道),
Chawind
2008-11-24
打赏
举报
回复
2楼说的没错
yingongong
2008-11-23
打赏
举报
回复
混点分..下载个文件
DustLand
2008-11-23
打赏
举报
回复
全局变量:Bitmap originbmp = new Bitmap(400,400);
在点击按钮的时候
Graphics gs = Graphics.FromImage(originbmp);
然后在这个gs画布上画,画完之后this.Invalidate();
Form中有一个事件是Paint,在这个事件中
Bitmap DesBmp = (Bitmap)originbmp.Clone();
Graphics gs = this.CreateGraphics();
gs.DrawImage(DesBmp, new Point(200, 50));
大体就是这个意思吧
DustLand
2008-11-23
打赏
举报
回复
全局变量:Bitmap originbmp = new Bitmap(400,400);
在点击按钮的时候
Graphics gs = Graphics.FromImage(originbmp);
然后在这个gs画布上画,画完之后this.Invalidate();
Form中有一个事件是Paint,在这个事件中
Bitmap DesBmp = (Bitmap)originbmp.Clone();
Graphics gs = this.CreateGraphics();
gs.DrawImage(DesBmp, new Point(200, 50));
大体就是这个意思吧
yuyue3
2008-11-23
打赏
举报
回复
2楼说的道理我明白了,能否把解决方法说下呢?因为我实在很菜的,谢谢啊。
yuyue3
2008-11-23
打赏
举报
回复
1楼说的办法,请问大家行不行?
jy251
2008-11-23
打赏
举报
回复
GDI中,你不添加一个BITMAP到CD中,CD是没有的。
当你第2次点击鼠标的时候,你的程序中,肯定是加载第2张图片并显示,没错吧,那么第一张图片呢??
首先你要搞清楚一点,Windows显示图片的变化是要刷新的,如果你刷新了,那么你就必须得重绘刷新的无效区域。在你的例子中,无效区域应该是整个Dialog的Client区域,那么当你在画第2张图片的时候,第一张图片你同样得画上去,才会显示两张图片,因为你在画第2张图片的时候,第1张图片没有再加载了,被屏幕刷掉了。
DustLand
2008-11-23
打赏
举报
回复
可不可以先定义一个bitmap的全局变量g_bmp,先在g_bmp图像上画,然后在在Pain函数中,复制g_bmp,把复制得到的文件贴到界面上?
c#
GDI+
完整例子
C#
GDI+
是一种强大的
图形
处理库,用于在Windows应用程序中创建和操作
图形
。
GDI+
是微软.NET Framework的一部分,提供了丰富的功能,包括绘制线条、曲线、形状、文本、图像处理以及更多。本示例提供了全面的C#
GDI+
...
C#用
GDI+
画图
经典案例(不下后悔)
在本文中,我们将深入探讨如何使用C#编程语言结合
GDI+
库来创建动态的、实时更新的
图形
,如描述中提到的任务管理器中的CPU信息图表。
GDI+
是.NET Framework的一部分,它提供了丰富的
图形
绘制功能,使得程序员可以创建...
c#
GDI+
实现类似
画图
板的效果,有画矩形、直线、椭圆,
保存
,新建,擦除,颜色变换
在C#编程中,
GDI+
(Graphics Device Interface Plus)是一个强大的
图形
处理库,用于创建和操作2D
图形
。利用
GDI+
,开发者可以构建出类似
画图
板的应用程序,提供用户绘制各种形状,如矩形、直线和椭圆,并进行
保存
、...
C#的
GDI+
绘制
图形
分层拖放操作源码
在本文中,我们将深入探讨C#中的
GDI+
技术,特别是在绘制
图形
方面,特别是如何实现分层、拖放、缩放以及填充等高级功能。
GDI+
是.NET框架中的一个核心部分,它提供了丰富的
图形
绘制功能,使得程序员能够创建出交互式且...
C#
GDI+
编程教程.pdf
本教程主要讲解了使用C#进行
图形
图像编程的基础知识,包括
GDI+
绘图基础、C#图像处理基础和简单的图像处理技术。
GDI+
绘图基础 -------------
GDI+
是微软在Windows 2000以后操作系统中提供的新的
图形
设备接口,它使...
C#
111,130
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章