vbnet中picturebox重新定义坐标要怎么搞?
picturebox.scale(factorassystem.drawing.sizef),那个factor要怎么写呀,这是一个怎样的定义的方法呀?...
picturebox.scale(factor as system.drawing.sizef),那个factor要怎么写呀,这是一个怎样的定义的方法呀?
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
这不是用来调整坐标系了,这大概是同比例的缩放控件及子控件。sizef结构里面包含了Width,Height属性的尺寸数据。
vb.net没有自定义坐标刻度了,但可以设置几个预定义的的刻度单位,如
Dim gr As Graphics = PictureBox1.CreateGraphics
gr.PageUnit = GraphicsUnit.Millimeter' 单位为毫米。
这个也就对图形方法有效,对窗体控件布局没关系(它统一用像素为单位)。
PageUnit对定义画笔宽度也是以此为单位的,而vb6中不管是什么刻度单位,画线的宽度始终是以像素为单位。
下面是调整坐标原点:
.gr.TranslateTransform(10, 12) '这是相对于当前坐标原点所作的移动,如果连续执行两次这个语句的话,最终坐标原点在20,24处。
另外可以设置缩放比例,
gr.ScaleTransform(2, 2) '在x,y方向上放大一倍。
下面这段代码你拷进去看看,窗口上放一个图片框和一个按钮,同时里面文件地址改一下。
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim gr As Graphics = PictureBox1.CreateGraphics
gr.PageUnit = GraphicsUnit.Millimeter
Dim Img As Bitmap
Img = Image.FromFile("E:\User Documents\Master\我的文档\My Pictures\美女1.jpg")
gr.TranslateTransform(10, 12) '移动原点
gr.DrawImage(Img, 0, 0, 20, 20) '显示图像
gr.TranslateTransform(10, 12)
gr.DrawImage(Img, 0, 0, 20, 20)
gr.TranslateTransform(10, 12)
gr.ScaleTransform(2, 2) '设置缩放比例
gr.DrawImage(Img, 0, 0, 20, 20)
gr.RotateTransform(-30) '旋转坐标方向
gr.DrawImage(Img, 0, 0, 20, 20)
End Sub
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询