社区
C#
帖子详情
C#GDI+画图,坐标图太大,画布内放不下,需要实现绘制画布内的东西,画布外的不绘制
qq_41609090
2018-01-23 09:21:52
求大神,C#GDI+画图,坐标图太大,画布内放不下,当任意移动图片时,需要实现绘制画布内的东西,画布外的不绘制,需要一些代码,谢谢啦!!!
...全文
629
9
打赏
收藏
C#GDI+画图,坐标图太大,画布内放不下,需要实现绘制画布内的东西,画布外的不绘制
求大神,C#GDI+画图,坐标图太大,画布内放不下,当任意移动图片时,需要实现绘制画布内的东西,画布外的不绘制,需要一些代码,谢谢啦!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuzuning
2018-01-24
打赏
举报
回复
绘图的有效区域是固定的,但里面的内容是你控制的,既然你有滚动条,那么就按滚动条位置绘制相应的数据
qq_41609090
2018-01-24
打赏
举报
回复
我尝试了一下,但是绘图的有效区域是固定的,因为有滚动条,我想看那些之前没在屏幕上绘制的点就看不到了,怎么能让这个绘制的无效区域随着我移动图而移动啊
qq_41609090
2018-01-23
打赏
举报
回复
是的,我就是画一些离散的点,怎么指定剪裁区啊,我就是想在屏幕之内的图像绘制,不在屏幕之内的不绘制,因为点太多,很卡,这样我既能看到图像,也解决卡的问题
xuzuning
2018-01-23
打赏
举报
回复
除非你绘制的都是平行于坐标轴的线或离散的点,否则不可能仅从坐标值就判断出是否应该绘制 所以应通过指定裁剪区的方式,让 GDI+ 决定绘制多少
qq_41609090
2018-01-23
打赏
举报
回复
好的,明白了,那我这句代码是只写在绘图事件里吗,因为我还要实现缩放功能,涉及到重绘过程,是需要用Invalidate();只重绘工作区吗
xuzuning
2018-01-23
打赏
举报
回复
另外 PaintEventArgs 提供了一个 ClipRectangle,用于通知你需要重绘的区域
xuzuning
2018-01-23
打赏
举报
回复
每个控件都有一个 ClientRectangle 你在哪个控件上画,就用哪个的 ClientRectangle 你也可以指定一个小的 Rectangle 用于测试 当然,需要注意的是:设定了裁剪区域后,只是不在裁剪区域的点不会有实际的绘画的行为 但是并不是说那个点的数据不会产生(有了点数据,才可能进行判断),所以如果数据点的产生是一个漫长的过程的话,绘制过程也不会快到哪里去
qq_41609090
2018-01-23
打赏
举报
回复
十分感谢,我用了这段代码,但是图画出来的时候还是慢,我就是想让电脑屏幕部分绘制,其他不绘制,ClientRectangle大小是指画板大小吗还是屏幕大小,不太清楚
xuzuning
2018-01-23
打赏
举报
回复
g.Clip = new Region(ClientRectangle);
g 是 Graphics 实例
ClientRectangle 是控件的客户区(也就是当前的有效绘图区域
如不指定的话 g.Clip 是一个极大的区域
看不见的也画,自然就慢了
当然,对于全是离散点,也可以用 ClientRectangle.Contains(x, y) 判断是否需要画出
深入
c#
GDI+
简单绘图的具体操作步骤(四)
前几篇我已经向大家介绍了如何使用GDI+来绘图,并做了一个截图的实例,这篇我向大家介绍下如何来做一个类似windows
画图
的工具.个人认为如果想做一个功能强大的绘图工具,那么单纯掌握GDI还远远不够,我的目前也只能做一个比较简单的绘图工具了.不足之处,欢迎大家讨论!先来看一下最终效果吧: 主要
实现
功能:画直线,矩形,橡皮,圆形,切换颜色,打开图片,保存图片,清除图片,手动调节
画布
大小;软件刚启动时,为一张空白
画布
,我们可以直接在
画布
上绘画,也可以通过菜单中的“打开”,导入一张图片,然后我们就可以在这张图片上进行
绘制
。平台:VS2005 WINFORM由于代码过多,在这里只简要介绍下制作步骤,提
C#
使用
GDI+
绘制
直角
坐标
系
C#
窗口中的
坐标
系是如下图所示,原点在窗口左上角,X轴方向是自左向右,Y轴方向是自上向下。 如果想在
C#
窗口中
绘制
正常的直角
坐标
系,例如入下图所示的第一象限的
坐标
系图形,就
需要
做专门的处理了。本文介绍如何
绘制
如上图所示的第一象限的直角
坐标
系。用到的Graphics类中的函数如下: 平移函数:TranslateTransform; 画直线函数:DrawLine; 画文字函数:Dra
c#
创建
画布
_
c#
GDI+
简单绘图(四) 简易画板功能
前几篇我已经向大家介绍了如何使用GDI+来绘图,并做了一个截图的实例,这篇我向大家介绍下如何来做一个类似windows
画图
的工具.个人认为如果想做一个功能强大的绘图工具,那么单纯掌握GDI还远远不够,我的目前也只能做一个比较简单的绘图工具了.不足之处,欢迎大家讨论!先来看一下最终效果吧:主要
实现
功能:画直线,矩形,橡皮,圆形,切换颜色,打开图片,保存图片,清除图片,手动调节
画布
大小;软件刚启动时,...
c#
创建
画布
_
C#
GDI+
编程基础(一:Graphics
画布
类)
GDI+
存在的意义:将变成与具体硬件
实现
细节分开。
GDI+
步骤:获取
画布
,
绘制
图像、处理图像命名空间:using System.Drawing;//提供对
GDI+
基本图形功能的访问using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能using System.Drawing.Imaging;//提供高级
GDI+
图像处理功能using System.Drawi...
c#
GDI+
简单绘图(四)
作者:stg609 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利 前几篇我已经向大家介绍了如何使用GDI+来绘图,并做了一个截图的实例,这篇我向大家介绍下如何来做一个类似windows
画图
的工具. 个人认为如果想做一个功能强大的绘图工具,那么单纯掌握GDI还远远不够,我的目前也只能做一个比较简单的绘图工具了.不足之处,欢迎大家讨论! 先来看一下最终效果吧: 主要
实现
功能:画直线,矩形,橡皮,圆形,切换颜色,打
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章