- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#界面编程,现在数据库里有成千上万个点的坐标,想利用这些坐标绘制曲线,
望高手给点意见
不要尝试同时画出上万个点,做成可缩放的形式。全景时通过计算提取出n 个点。
局部放大时显示所有点。
我的想法是这样的。比如你有3000 个点需要显示,在客户端显示
全部的时候可以考虑只显示1000 个点或是更少。比如这些点是连
续平均分布的,那么可以每个点按1、2 、3 排序,只显示1 的点,
去掉2 、3 的点。或是将1、2 、3 计算一个平均值,那么,你只需
要考虑显示1000 个点了。
然后在程序界面中加入放大缩小功能。放大时就只要显示局部就
可以了,而局部图可能全部显示可能也只有1000 个点。那么显示
上面的压力就减少了2/3 了。
还有一种解决方案是如果没有特别要求的话,可以将你的坐标图
转为图片文件进行显示,这样可以在第一次加载时计算出图像文
件,后面显示起来就不吃力了。
C# 读取一个txt 中的数据(都是一些点的坐标),然后画出曲线图(把点连起
来),该怎么编?
两个问题:
1.读取文件,首先你的数据在文件里面怎么存的,比如一行存一对坐标类似2,5.
读取的时候就要一次读一行,通过逗号分隔x y 坐标。所以读取文件关键要知道
数据是怎么存的,然后根据存储格式往外读,读出来以后就开始画了。
2.画图:根据坐标画图,现在你拿到了坐标,但是这个坐标跟界面的坐标怎么转
换需要你看一下(界面的原点在哪,哪个是x 轴),拿到转换后的坐标就可以用
Graphics 来画,网上找一些根据坐标画图的实例就行了
在开始button 里面调用JustDoIt(),c:/point.txt 换成你浏览的文件,Draw 里this 换
成你想要在上面画的控件。
附件里面了
请教高手C#作图问题——将一系列坐标点绘制成曲线图显示在窗体上,当鼠标
点击时显示该点的坐标
首先要统一坐标系,将屏幕坐标系,窗体坐标系和你绘图使用的坐标系统一到窗
体坐标系中,这些都是一些数学计算,都很简单,不用说吧。然后用GDI 绘图
将转换到窗体坐标的点全部绘制出来就可以啦,获取的时候通过鼠标的移动事件
中的参数e 获取当前鼠标的窗体坐标(注意是以窗体左上角计算的)计算出绘图
坐标系中的坐标并显示就好了。
见笑啦,统一坐标系这个还真不会,呵呵,该怎么做呢?
回答
比如说你的绘图坐标的最大值是(1000,500),而你的窗体绘图区
域最大是(100,50),那么你要绘图的所有点都除以10 就可以啦。
对于X 而言:点的窗体坐标=点的绘图坐标/10 ,这里注意绘图用
的是屏幕坐标系,原点在左上角,而绘图坐标系一般原点在左下
角,所以对于Y 值而言要这样做:点的窗体坐标=50-点的绘图坐
标/10 。另外,还需考虑绘图区域在绘制窗体的位置,在计算点的
窗体坐标时要考虑进去
c#怎么把txt 里的数据赋值给二维数组?
TXT 文件:
class Program
{
static void Main(string[] args)
{
string path = @D:/1.txt;
string[,] str = new string[3,3];
string temp = ;
try
{
FileStream fs = new FileStream(path, FileMode.Open);
using (StreamReader sr = new StreamReader(fs))
{
string line = sr.ReadToEnd().Replace(\r,
).Replace(\n,);
string[] str2 = line.Split( );
for (int m = 0; m 3; m++)
for (int n = 0; n 3; n++)
str[m, n] = str2[3 * m + n];
您可能关注的文档
- BIOS设置及优化教程.pdf
- BIOS选项的功能及设置.ppt
- BIOS与主板故障.doc
- BIOS中各目录含义.doc
- birt报表高级进阶-库与模板使用.doc
- Blast工具的介绍与并行优化.pdf
- BLDC驱动器模拟信号调速的接线方法和配置.doc
- BMP文件结构探索.doc
- BN12 TCPIP网络安全与管理.pdf
- Boot+Camp+安装及设置指南.pdf
- 山东省潍坊市第一中学2012届高三阶段测试 基本能力试题.docx
- 山东省济宁市曲阜师大附中2010届九年级历史上学期期中质量检测试题人教版.docx
- 山东省济宁市2011届高三教学质量监测历史试题.docx
- 山东省枣庄市薛城实验中学2015届高三上学期期末历史试题.docx
- 山东省济宁市微山县第一中学2015-2016学年高二语文入学检测考试试题.docx
- 山东省淄博市张店区湖田中学2014-2015学年七年级英语下学期期中学业水平检测试题.docx
- 云南省玉溪市峨山彝族自治县一中2025-2026学年高三上学期期中考试物理-学生用卷.pdf
- 广东省江门市新会区创新教育集团2025-2026学年部编版九年级历史上学期期中综合素养评价(含答案).pdf
- 长沙市岳麓实验高三期中考试历史-学生用卷.pdf
- 四川省宜宾市翠屏区2025--2026学年八年级上学期期中历史试题(含答案).pdf
原创力文档


文档评论(0)