picturebox画圆方法

上传人:zw****58 文档编号:40260472 上传时间:2018-05-25 格式:DOC 页数:16 大小:182KB
返回 下载 相关 举报
picturebox画圆方法_第1页
第1页 / 共16页
picturebox画圆方法_第2页
第2页 / 共16页
picturebox画圆方法_第3页
第3页 / 共16页
picturebox画圆方法_第4页
第4页 / 共16页
picturebox画圆方法_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《picturebox画圆方法》由会员分享,可在线阅读,更多相关《picturebox画圆方法(16页珍藏版)》请在金锄头文库上搜索。

1、关于 VB 用 Picturebox 画图的一个大问题? 我在用 VB 写一个 画图板的 撤消功能,当我做到喷枪的 撤消功能时 遇到一个莫名其妙的问题,如下:For i = -10 To 10 Step 3For j = -10 To 10 Step 3m = X + Rnd * i * 10n = Y + Rnd * j * 10v(l) = mt(l) = nl = l + 1Picture1.PSet (m, n)Next jNext i这是用喷枪画时的程序,接下来是撤消是的程序(我用 picturebox 背景色把上面那个动作再做 一边):For u = 0 To l - 1m = v

2、(u)n = t(u)u = u + 1Picture1.PSet (m, n), Picture1.BackColorNext u可以结果却是只撤消了大部分的点,还有少数点没画到.那位大侠 能帮我解决的话 我将万分感激!VB 中如何只保存 Picturebox 中的绘图区域?2008-04-26 15:57homekid2|分类:VB| 浏览1453次Picturebox 中只选择了左上角的一部分区域绘图,只想保存绘图的部分。而不想保存没绘 图的部分,如何实现?我有更好的答案提问者采纳2008-05-02 10:28不明白你什么意思啊保存成文件吗 bitblt 就可以 设置 x1 y1 x2

3、 y2 矩形左上右下角坐标就行了评论|0tedzhu|六级采纳率44%vb picturebox 绘图怎样实现选择平移放大等操作2011-06-26 08:3215093075267|分类:VB| 浏览465次我有更好的答案提问者采纳2011-06-27 15:55/ / 翻转90度/ / / private void btn_imgLeft_Click(object sender, EventArgs e)picMain.Image = ImageRotate.RotateImg(this.picMain.Image, 90);/ / 反响翻转90度/ / / private void bt

4、n_imgRight_Click(object sender, EventArgs e)picMain.Image = ImageRotate.RotateImg(this.picMain.Image, -90);/ / 图片翻转/ public class ImageRotate#region 图片旋转函数/ / 以逆时针为方向对图像进行旋转/ / 位图流/ 旋转角度0,360(前台给的)/ public static Image RotateImg(Image b, int angle)angle = angle % 360;/弧度转换double radian = angle * Mat

5、h.PI / 180.0;double cos = Math.Cos(radian);double sin = Math.Sin(radian);/原图的宽和高int w = b.Width;int h = b.Height;int W = (int)(Math.Max(Math.Abs(w * cos - h * sin), Math.Abs(w * cos + h * sin);int H = (int)(Math.Max(Math.Abs(w * sin - h * cos), Math.Abs(w * sin + h * cos);/目标位图Bitmap dsImage = new B

6、itmap(W, H);System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(dsImage);g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Bilinear;g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;/计算偏移量Point Offset = new Point(W - w) / 2, (H - h) / 2);/构造图像显示区域:让图像的中心与窗

7、口的中心点一致Rectangle rect = new Rectangle(Offset.X, Offset.Y, w, h);Point center = new Point(rect.X + rect.Width / 2, rect.Y + rect.Height / 2);g.TranslateTransform(center.X, center.Y);g.RotateTransform(360 - angle);/恢复图像在水平和垂直方向的平移g.TranslateTransform(-center.X, -center.Y);g.DrawImage(b, rect);/重至绘图的所有

8、变换g.ResetTransform();g.Save();g.Dispose();/保存旋转后的图片b.Dispose();dsImage.Save(“FocusPoint.jpg“, System.Drawing.Imaging.ImageFormat.Jpeg);return dsImage;/ / / / / public static Image RotateImg(string filename, int angle)return RotateImg(GetSourceImg(filename), angle);private static Image GetSourceImg(s

9、tring filename)Image img;img = Bitmap.FromFile(filename);return img;#endregion 图片旋转函数PictureBox 控件、椭圆的画图、找点控件、椭圆的画图、找点 问题点数:问题点数:33分,结帖人分,结帖人 CSDN 楼主楼主 发表于: 2006-04-02 11:30:13 小弟初学 vb,在在 PictureBox 控件上绘制图像时(VB) ,只能用 Circle 进行椭圆的绘制,但如今想使用椭圆的曲线方程 X2/a2+Y2/b2=1实 现,该 PictureBox 控件参数为 ScaleHeight=225,Sc

10、aleWidth=360,欲绘 制的椭圆参数为 a,b 已知,我的目的是想要找出该椭圆上的所有点的 坐标(数组1)以及椭圆内部所有点的坐标(数组2)不知能否实现? 如何实现?恳望各位大虾们不吝赐教,不胜感激!fujiguan南海等级:对我有用0丢个板砖0引用| 举报 | 管理回复次数:9#1得分:0 回复于: 2006-04-02 12:29:22 X2/a2+Y2/b2-1 将点坐标代入这个方程,根据结果的符号就可以知 道是在圆内,圆外,或者圆上bakwbakw等级:翻版周杰伦的游戏开发经历对我有用0丢个板砖0引用| 举报 | 管理#2得分:0 回复于: 2006-04-02 13:08:1

11、2 表达式 X2/a2+Y2/b2的结果=1即在椭圆上,1则在 椭圆外.xDAVIDxxDAVIDx等级:对我有用0丢个板砖0引用| 举报 | 管理#3得分:0 回复于: 2006-04-02 16:51:21 嗯,问题是。椭圆应该是有无限个点组成的,但在有限的点数即225X360的 PictureBox 控件上绘制的椭圆取的是哪些点?坐标 (X,Y)中的 X 和 Y 应该都是整数的吧比如 a=2,b=3,用循环来 判断 for x=1 to 225 for y=1 to 360 if X2/a2+Y2/b2=1 then 将 X,Y 值存入数组 end if next next 根本不可能f

12、ujiguan南海等级:对我有用0丢个板砖0引用| 举报 | 管理#4得分:0 回复于: 2006-04-03 11:22:12 另:实心椭圆是如何绘制的?fujiguan南海等级:对我有用0丢个板砖0引用| 举报 | 管理#5得分:0 回复于: 2006-04-03 14:13:58 Private Sub Command1_Click() 实心椭圆。 FillStyle = 0 Circle (600, 1000), 800, , , , 3 空心椭圆。 FillStyle = 1 Circle (1800, 1000), 800, , , , 3End Subtmd007tmd007等级

13、:对我有用0丢个板砖0引用| 举报 | 管理#6得分:0 回复于: 2006-04-03 14:58:52 刚试过了用 X2/a2+Y2/b21”的所有点再取的剩 余点吧?! 还有 bakw(好好潜水,天天 UP)提出的问题也挺值得讨论的,为什么 X2/a2+Y2/a2 画出来的圆在 form 和 picturebox 下画的还不同的? ? _先谢谢各位先fujiguan南海等级:VB 中 PictureBox 控件使用教程 2010-05-31 21:11:52| 分类: VB 相关 |字号大中中小订阅PictureBox 对象可以说是任何对象的原始型态,它可以加载图片、显示文字、画图外,它

14、还能与 Frame 对象一样,在自己本身里头加载其它的对象而自成一个小群组,用PictureBox 可以仿真出任何对象的外观,PictureBox 是 VB 基本控件里变化最多,功能最多,也是令人最想去征服它的一个物件。PictureBox 与 Frame 对象一样,本身都能装载其它的对象而自己形成一个对象群组。如果要拿 PictureBox 装载对象时,可以把它视为 Frame 来使用。与 Image 对象一样在设计阶段时,以 Picture 属性来加载图片。与 Image 对象一样都是在属性对话窗口按一下.钮后,跳出加载图片对话框,选择所要的图档,然后加载。在执行阶段,可以用 VB 的函数

15、来帮 PictureBox 加载图片: Command1_Click() Picture1.Picture = LoadPicture(“E:MyGifAniGif0562.gif“) End Sub 在设计阶段,若后悔加载图片,想把它消除时,可以把 PictureBox 按 Delete 键删掉,然后从工具箱拖曳一个新的 PictureBox,或是在属性对话框里的 Picture 属性,把(位图)这几个反白,或是移到(的最前端,按一下键盘的 Delete 键即可移除图片。若在执行阶段,想把 PictureBox 内的图片移除,可再用 LoadPicture 函数,并且传空字符串给它: Private Sub Command1_Click() Picture1.Picture = LoadPicture(“) End Sub -在 PictureBox 里画图:PSet 方法:PSet 不只是用在 PictureBox 上,也可以用在窗体上,PSet 最主要功用用就是在某一点位置上画一个点,用法是 Object.PSet(X,Y), Color: Private Sub Command1_Click() Picture1.PSet(500,260)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号