vbnet中picturebox重新定义坐标要怎么搞?

picturebox.scale(factorassystem.drawing.sizef),那个factor要怎么写呀,这是一个怎样的定义的方法呀?... picturebox.scale(factor as system.drawing.sizef),那个factor要怎么写呀,这是一个怎样的定义的方法呀? 展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
若以下回答无法解决问题,邀请你更新回答
szqaly
推荐于2018-04-30 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1517万
展开全部

这不是用来调整坐标系了,这大概是同比例的缩放控件及子控件。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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式