C# GDI绘图的问题,求解!

问题描述

白色的是画布1红色的是画布2绿色的圆是要画的图片。绿色的圆画的位置是相对画布2的。但画的时候圆的虚线部分就被裁剪掉了。显示不出来。怎么样让这个圆画了之后不被裁剪。

解决方案

解决方案二:
按--图1--图2--圆的顺序画
解决方案三:
为什么要2个画布?
解决方案四:
引用2楼shingoscar的回复:

为什么要2个画布?

因为一直解决不了被裁剪掉的问题,所以放了二个画布。如果一个画布就能解决更好啊。
解决方案五:
引用1楼zj_zwl的回复:

按--图1--图2--圆的顺序画

圆的坐标是相对于图2的。
解决方案六:
你不会平移下坐标。计算下xy也很简单的啊,就是个数学公式啊
解决方案七:
楼主其实如果贴出点代码,或者把画的结构跟顺序说清楚就好了,不确定是不是因为楼主对GDI不熟悉的原因。画的顺序跟结构应该是这样吧:1.白色部分是主面板,而画板1、画板2、圆都是在这个主面板上画出来的。2.根据GDI先画的在下面这种层级关系,就应该依次是:画板1---画板2---圆那我能想到的应该就是每个矩形的位置问题。只要这么画就能实现楼主的设想目标吧。
解决方案八:
把座标全部转换成图1的座标再画
解决方案九:
引用5楼assky124的回复:

你不会平移下坐标。计算下xy也很简单的啊,就是个数学公式啊

平移坐标是正解。谢谢。
解决方案十:
引用6楼Yokeqi的回复:

楼主其实如果贴出点代码,或者把画的结构跟顺序说清楚就好了,不确定是不是因为楼主对GDI不熟悉的原因。画的顺序跟结构应该是这样吧:1.白色部分是主面板,而画板1、画板2、圆都是在这个主面板上画出来的。2.根据GDI先画的在下面这种层级关系,就应该依次是:画板1---画板2---圆那我能想到的应该就是每个矩形的位置问题。只要这么画就能实现楼主的设想目标吧。

对GDI不是特别熟悉。
解决方案十一:
你说的画布是什么东西?GDI+中有这个玩意吗?
解决方案十二:
如果你的画布2是个容器的话,那么超出其轮廓的部分自然就不在了

时间: 2024-07-29 01:37:20

C# GDI绘图的问题,求解!的相关文章

gdi+-小白求解C#的GDI+绘图问题

问题描述 小白求解C#的GDI+绘图问题 用GDI+在窗体中如何实现可选择开始和暂停绘图,自定义.绘制连续不断的正弦函数曲线,如何实现在窗体一定范围内滚动绘制曲线,比如持续的心率曲线. 解决方案 写一个定时器,用定时器控制 解决方案二: C#关于GDI+绘图(一)C# GDI+ 绘图

c# gdi绘图-C#GDI绘图,弧线有关定义

问题描述 C#GDI绘图,弧线有关定义 弧线有起角和仰角.角度是怎么判断的?是相对于水平线,还是取中心连线后与水平线的夹角角度?? 解决方案 中心连线后与水平线的夹角角度

gdi+-【MFC使用GDI+绘图,刷新显示很卡,完全是跳变显示??】

问题描述 [MFC使用GDI+绘图,刷新显示很卡,完全是跳变显示??] http://blog.csdn.net/ximenying/article/details/937027我用的是这个博客的方法,GDI+绘制平滑的反走样线,本来很多锯齿的,用了以后显的很平滑了,但是有一点就是刷新的时候显示很卡, 因为图像要显示运动的过程,经常刷新,我原来用的是pdc->moveto(xy);pdc->lineto(x1y1);结尾有内存释放,刷新的时候显示很流畅,但用GDI+平滑曲线以后就很卡了,一直是

GDI绘图 双缓冲贴图 电脑死机

问题描述 GDI绘图 双缓冲贴图 电脑死机 绘图的时候使用了双缓冲贴图 然后自己定义了一个透明贴图的函数DrawTransBitmap,贴图成功了,但是程序一运行内存就飞速增长.不关的话马上就死机了,小白一枚 求各位大神帮忙 万分感激 解决方案 case WM_PAINT: hdc = GetDC(hwnd); mdc = CreateCompatibleDC(hdc); bufdc = CreateCompatibleDC(hdc); bufdc2 = CreateCompatibleDC(h

gdi-c# GDI绘图 winform程序

问题描述 c# GDI绘图 winform程序 如图 分为两个区域 除上述蓝色背景区域外,下面的黑色整个部分我想换个颜色,以下是代码,请问最后的零的位置如何修改 (也就是修改下面的部分的高度) private void DrawTrainGraph(Graphics g) { //先绘制一个矩形区,作为列车区的底图 using (Brush brush = new SolidBrush(TraGraphBKColor)) { g.FillRectangle(brush, -orgView.X /

gdi绘图打印的问题-GDI绘图打印的问题,毫米为单位

问题描述 GDI绘图打印的问题,毫米为单位 问题是这样的,有这么个需求,gdi绘图需要打印,有两种打印机 dpi为 180,与300,绘图的长度单位为毫米,那么我应该怎么样绘图, 才能保证在每种打印机中都开开眼打印清楚! 请哪位大神给个思路!谢谢 解决方案 GDI 绘图 内存泄漏问题

GDI+绘图 定位

问题描述 GDI+绘图如果我要画很多条形图如何让其在指定位置显示呢我已经试过2种方法了1bitmap.Save(this.Response.OutputStream,ImageFormat.Gif);2bitmap.Save((Server.mappath().--),ImageFormat.Gif);再用Image控件找貌似都不可以啊 解决方案 解决方案二:该回复于2007-12-04 11:17:30被版主删除解决方案三:顶!我也关注.解决方案四:虽然不怎么明白,不过帮忙顶一下了解决方案五:

小白求解C#窗体GDI+绘图问题

问题描述 在窗体内的一定范围内,调用GDI绘制连续不断的正弦函数曲线,如何实现用户可选择开始绘制和停止绘制,还有正弦函数曲线源源不断,如何实现滚动绘制.急急急,求指导. 解决方案 解决方案二:设置一个停止标记,每次画之前,先检测这个标记即可解决方案三:timer里不断重绘解决方案四:你自己改造吧正如上面你看到的我可以移动左边系要想让函数偏移还不简单....解决方案五:对了上面我写的是-y程序窗体的坐标系和直角坐标系是有区别的在窗体坐标系中往右是正往下是正在直角坐标系中往右是正往上是正所以y坐标需

C# GDI+绘图高级编程

一般来说,Windows的一个优点(实际上是现代操作系统的优点)是它可以让开发人员不考虑特定设备的细节.例如:不需要理解硬盘设备驱动程序,只需在相关的.NET类中调用合适的方法,就可以编程读写磁盘上的文件.这个规则也适用于绘图.计算机在屏幕上绘图时,把指令发送给视频卡.问题是市面上有几百种不同的视频卡,大多数有不同的指令集合功能.如果把这个i考虑在内,在应用程序中为每个视频卡驱动程序编写在屏幕上绘图的特定代码,这样的应用程序就根本不可能编写出来.这就是为什么在Windows最早的版本中有Wind