C#中利用pictureBox画点的心得
来源:互联网 发布:2016当红网络主播 编辑:程序博客网 时间:2024/06/05 11:53
首先要讲点理论。
在picturebox中各种DrawRectangle,DrawLine等方法中都可以看到参数是int型(这是因为在电脑屏幕上画点都是根据像素来的,像素又都是整型),那么如果我们要画的点是float型或double型可以画吗?答案:当然可以画啦。无论double型的坐标多大或多小,通过放射变换都可以转到屏幕坐标范围内,利用强制转换为int就可以画了。
double x;int x1=(int)x;如你的坐标是(2000000.135,321599.234),则定义一个统一的转换函数将坐标转换到你的图片框中范围内,实际点集的坐标不影响图形的显示,两个点在当前视图下可能因为四舍五入重合在一起,但是放大当前视图后,这两个点就分离,ArcMap也是同样的道理。(只要坐标没有超过当前视图范围就行了)
在picturebox画点的时候刚开始居然没有显示,后来才知道原来是忘了写挂接事件这句话。
public DrawPoint() { InitializeComponent(); this.Load += new EventHandler(DrawPoint_Load);///////// }
private void DrawPoint_Load(object sender, EventArgs e) { bmp = new Bitmap(picMap.Width, picMap.Height); grp = Graphics.FromImage(bmp); grp.Clear(picMap.BackColor); pen = new Pen(Color.Black, 1); sfont = new Font("宋体", 12); }
private void DrawPoints() { //grp.Clear(picMap.BackColor); s = m_Points.Count; b = m_Points.ToArray(); for (p = 0; p < s - 1; p++) { grp.DrawRectangle(pen, b[p], b[p + 1], 5, 5); p = p + 1; //picMap.Image = bmp; Thread.Sleep(3000); } /* for (p = 0; p < s - 1; p++) { judge(); }*/ picMap.Image = bmp; //picMap.Refresh(); }
这样就可以很简单得画点了。
0 0
- C#中利用pictureBox画点的心得
- C#中Picturebox的使用
- C#的pictureBox中显示网上的图片
- C#中PictureBox控件的Image转存数据库
- c#中鼠标滚轮对PictureBox的缩放
- C#中picturebox上的Label如何实现透明
- C# 在PictureBox 中绘图防止闪烁的办法
- C#利用Picturebox控件显示图片
- 在C#中 从一个picturebox中 按住鼠标左键不放 画一块区域后,另外一个picturebox(在一个winform 窗体上有两个picturebox )上马上把对应的截取图像显示出来
- c# winform pictureBox显示图片,PictureBox控件的Image属性
- c# winform pictureBox显示图片,PictureBox控件的Image属性
- C# Picturebox对其他Picturebox的透明问题
- C#中PictureBox异步加载图片
- C#中PictureBox加载网络图片
- C#中PictureBox异步加载图片
- C#中如何实现拖动PictureBox控件
- pictureBox中使用滚动条 c# dotnet
- C# 画面中PictureBox 画面闪烁
- 如何去掉windows10 windows8 我的电脑 中的几个烦人文件夹
- rman 定时增量全备
- 正则表达式在iOS中的运用
- Hadoop本地库与系统版本不一致引起的错误解决方法
- 深度理解Jquery 中 scrollTop() 方法
- C#中利用pictureBox画点的心得
- Intellij下利用Maven构建Scala Project
- ffmpeg使用参数详解
- 基于SuperMap iObjects.NET 7C 中扩展图层实现航线一键查询系统
- iOS手机号判断方法
- 为mediaserver增加定制权限
- 上google 方法
- java传值还是传引用的问题详解
- NLTK安装教程