picturebox画圆方法Word文档下载推荐.docx
《picturebox画圆方法Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《picturebox画圆方法Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
u=u+1
Picture1.PSet(m,n),Picture1.BackColor
Nextu
可以结果却是只撤消了大部分的点,还有少数点没画到.
那位大侠能帮我解决的话我将万分感激
VB中如何只保存Picturebox中的绘图区域?
2008-04-2615:
57homekid2|分类:
VB|浏览1453次
Picturebox中只选择了左上角的一部分区域绘图,只想保存绘图的部分。
而不想保存没绘图的部分,如何实现?
我有更好的答案
提问者采纳
2008-05-0210:
28
不明白你什么意思啊~保存成文件吗
bitblt就可以设置x1y1x2y2矩形左上右下角坐标就行了
评论|0
tedzhu|六级采纳率44%
vbpicturebox绘图怎样实现选择平移放大等操作
2011-06-2608:
32150********|分类:
VB|浏览465次
2011-06-2715:
55
///<
summary>
///翻转90度
///<
/summary>
paramname="
sender"
>
<
/param>
///<
e"
privatevoidbtn_imgLeft_Click(objectsender,EventArgse)
{
picMain.Image=ImageRotate.RotateImg(this.picMain.Image,90);
}
///反响翻转90度
privatevoidbtn_imgRight_Click(objectsender,EventArgse)
picMain.Image=ImageRotate.RotateImg(this.picMain.Image,-90);
///图片翻转
publicclassImageRotate
#region图片旋转函数
///以逆时针为方向对图像进行旋转
b"
位图流<
angle"
旋转角度[0,360](前台给的)<
returns>
/returns>
publicstaticImageRotateImg(Imageb,intangle)
angle=angle%360;
//弧度转换
doubleradian=angle*Math.PI/180.0;
doublecos=Math.Cos(radian);
doublesin=Math.Sin(radian);
//原图的宽和高
intw=b.Width;
inth=b.Height;
intW=(int)(Math.Max(Math.Abs(w*cos-h*sin),Math.Abs(w*cos+h*sin)));
intH=(int)(Math.Max(Math.Abs(w*sin-h*cos),Math.Abs(w*sin+h*cos)));
//目标位图
BitmapdsImage=newBitmap(W,H);
System.Drawing.Graphicsg=System.Drawing.Graphics.FromImage(dsImage);
g.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.Bilinear;
g.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//计算偏移量
PointOffset=newPoint((W-w)/2,(H-h)/2);
//构造图像显示区域:
让图像的中心与窗口的中心点一致
Rectanglerect=newRectangle(Offset.X,Offset.Y,w,h);
Pointcenter=newPoint(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);
//重至绘图的所有变换
g.ResetTransform();
g.Save();
g.Dispose();
//保存旋转后的图片
b.Dispose();
dsImage.Save("
FocusPoint.jpg"
System.Drawing.Imaging.ImageFormat.Jpeg);
returndsImage;
///
filename"
publicstaticImageRotateImg(stringfilename,intangle)
returnRotateImg(GetSourceImg(filename),angle);
privatestaticImageGetSourceImg(stringfilename)
Imageimg;
img=Bitmap.FromFile(filename);
returnimg;
#endregion图片旋转函数
PictureBox控件、椭圆的画图、找点[问题点数:
33分,结帖人CSDN]
fujiguan
南海
等级:
楼主发表于:
2006-04-0211:
30:
13
小弟初学vb,在在PictureBox控件上绘制图像时(VB),只能用Circle进行椭圆的绘制,但如今想使用椭圆的曲线方程X^2/a^2+Y^2/b^2=1实现,该PictureBox控件参数为ScaleHeight=225,ScaleWidth=360,欲绘制的椭圆参数为a,b已知,我的目的是想要找出该椭圆上的所有点的坐标(数组1)以及椭圆内部所有点的坐标(数组2)……不知能否实现?
如何实现?
恳望各位大虾们不吝赐教,不胜感激!
对我有用[0]丢个板砖[0]引用|举报|管理
回复次数:
9
bakw
#1得分:
0回复于:
2006-04-0212:
29:
22
X^2/a^2+Y^2/b^2-1将点坐标代入这个方程,根据结果的符号就可以知道是在圆内,圆外,或者圆上
翻版周杰伦的游戏开发经历
xDAVIDx
#2得分:
2006-04-0213:
08:
12
表达式X^2/a^2+Y^2/b^2的结果=1即在椭圆上,<
1则在椭圆内,>
1则在椭圆外.
#3得分:
2006-04-0216:
51:
21
嗯,问题是。
椭圆应该是有无限个点组成的,但在有限的点数即225X360的PictureBox控件上绘制的椭圆取的是哪些点?
坐标(X,Y)中的X和Y应该都是整数的吧……比如a=2,b=3,用循环来判断
forx=1to225
fory=1to360
ifX^2/a^2+Y^2/b^2=1then
'
将X,Y值存入数组
endif
next
根本不可能……
#4得分:
2006-04-0311:
22:
另:
实心椭圆是如何绘制的?
tmd007
#5得分:
2006-04-0314:
13:
58
PrivateSubCommand1_Click()
实心椭圆。
FillStyle=0
Circle(600,1000),800,,,,3
空心椭圆。
FillStyle=1
Circle(1800,1000),800,,,,3
EndSub
#6得分:
58:
52
刚试过了用X^2/a^2+Y^2/b^2<
1好像确实可以绘制实心的椭圆(我用的是pset进行的测试),但X^2/a^2+Y^2/b^2=1的还是画不出椭圆来的……自己再顶了……
#7得分:
2006-04-0320:
37:
44
你是不是描点画的?
那样画出来的椭圆有问题,你用X^2/a^2+Y^2/a^2画画试试,那个画出来就不是圆~
vb的画图函数有问题的,最好要不描点画,如果你要结果可以,但拿这个来描点画图是不行的
#8得分:
0