vb.net中picturebox使用的问题

时间:2022-09-25 13:57:18
我在vb.net添加了picturebox控件,并在控件上通过代码绘制了图形,我想要通过鼠标对该控件进行缩放和平移,这样的操作要如何实现呢?

7 个解决方案

#2


#3


Private Sub MyPic_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If (bPictureBoxDragging) Then
            Dim oMoveToPoint As Point
            oMoveToPoint = PictureBox_top.PointToClient(sender.PointToScreen(New Point(e.X, e.Y)))
            oMoveToPoint.Offset(oPointClicked.X * -1, oPointClicked.Y * -1)
            sender.Location = oMoveToPoint
        End If
    End Sub

#4


引用 2 楼 fengqingtao2008 的回复:
VB.NET处理图片缩略图
供LZ参考!
我需要的主要是对我绘制的内容进行缩放,不是导入的某一张图片的,请问您有看到过这样的例子么。

#5


引用 1 楼 wangnaisheng 的回复:
可以解决你的问题
按照里面的方法,我改写了我的代码基本可以实现了,但是我还遇到了一个问题想请教。我在picturebox里面用填充多边形的方式进行了填充,填充外围画的是线,但是在放大时我用drawline画的线在放大时会变粗,填充的区域倒是正常的,请问应该怎么处理让那个线不变粗呢,我缩放用的是scaletransform

#6


引用 5 楼 rabiboy 的回复:
Quote: 引用 1 楼 wangnaisheng 的回复:

可以解决你的问题
按照里面的方法,我改写了我的代码基本可以实现了,但是我还遇到了一个问题想请教。我在picturebox里面用填充多边形的方式进行了填充,填充外围画的是线,但是在放大时我用drawline画的线在放大时会变粗,填充的区域倒是正常的,请问应该怎么处理让那个线不变粗呢,我缩放用的是scaletransform


放大的话基本上会变粗的,你不是有drawline画线嘛。那么在你放大的时候你在重画一下应该是可以的。
可以这样试试,不行在想别的办法。

#7


引用 6 楼 wangnaisheng 的回复:
Quote: 引用 5 楼 rabiboy 的回复:

Quote: 引用 1 楼 wangnaisheng 的回复:

可以解决你的问题
按照里面的方法,我改写了我的代码基本可以实现了,但是我还遇到了一个问题想请教。我在picturebox里面用填充多边形的方式进行了填充,填充外围画的是线,但是在放大时我用drawline画的线在放大时会变粗,填充的区域倒是正常的,请问应该怎么处理让那个线不变粗呢,我缩放用的是scaletransform


放大的话基本上会变粗的,你不是有drawline画线嘛。那么在你放大的时候你在重画一下应该是可以的。
可以这样试试,不行在想别的办法。
嗯,谢谢你,这么简单的方法我居然没想到,看来是当时脑子秀逗了

#1


#2


#3


Private Sub MyPic_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If (bPictureBoxDragging) Then
            Dim oMoveToPoint As Point
            oMoveToPoint = PictureBox_top.PointToClient(sender.PointToScreen(New Point(e.X, e.Y)))
            oMoveToPoint.Offset(oPointClicked.X * -1, oPointClicked.Y * -1)
            sender.Location = oMoveToPoint
        End If
    End Sub

#4


引用 2 楼 fengqingtao2008 的回复:
VB.NET处理图片缩略图
供LZ参考!
我需要的主要是对我绘制的内容进行缩放,不是导入的某一张图片的,请问您有看到过这样的例子么。

#5


引用 1 楼 wangnaisheng 的回复:
可以解决你的问题
按照里面的方法,我改写了我的代码基本可以实现了,但是我还遇到了一个问题想请教。我在picturebox里面用填充多边形的方式进行了填充,填充外围画的是线,但是在放大时我用drawline画的线在放大时会变粗,填充的区域倒是正常的,请问应该怎么处理让那个线不变粗呢,我缩放用的是scaletransform

#6


引用 5 楼 rabiboy 的回复:
Quote: 引用 1 楼 wangnaisheng 的回复:

可以解决你的问题
按照里面的方法,我改写了我的代码基本可以实现了,但是我还遇到了一个问题想请教。我在picturebox里面用填充多边形的方式进行了填充,填充外围画的是线,但是在放大时我用drawline画的线在放大时会变粗,填充的区域倒是正常的,请问应该怎么处理让那个线不变粗呢,我缩放用的是scaletransform


放大的话基本上会变粗的,你不是有drawline画线嘛。那么在你放大的时候你在重画一下应该是可以的。
可以这样试试,不行在想别的办法。

#7


引用 6 楼 wangnaisheng 的回复:
Quote: 引用 5 楼 rabiboy 的回复:

Quote: 引用 1 楼 wangnaisheng 的回复:

可以解决你的问题
按照里面的方法,我改写了我的代码基本可以实现了,但是我还遇到了一个问题想请教。我在picturebox里面用填充多边形的方式进行了填充,填充外围画的是线,但是在放大时我用drawline画的线在放大时会变粗,填充的区域倒是正常的,请问应该怎么处理让那个线不变粗呢,我缩放用的是scaletransform


放大的话基本上会变粗的,你不是有drawline画线嘛。那么在你放大的时候你在重画一下应该是可以的。
可以这样试试,不行在想别的办法。
嗯,谢谢你,这么简单的方法我居然没想到,看来是当时脑子秀逗了