我正在使用一组图形叠加层来在图片框控件中使用图形对象绘制图像。我已经将Picturebox放置在一个Panel中并设置Panel为自动滚动。现在我需要知道如何使用鼠标滚轮以小增量方式扩大图片的大小,同时保持所绘制图像的质量。有人知道怎么做吗?
当我使用Abdias Software代码进行更新时,当Sizemode属性设置为StretchImage时,图片开始变小。我有一个带有鼠标的平移功能,可能会干扰这段代码的正常工作。任何想法?是什么阻止了它的正常工作?
解决方案:
这段代码对我比下面的两个都好用多了。
当我使用Abdias Software代码进行更新时,当Sizemode属性设置为StretchImage时,图片开始变小。我有一个带有鼠标的平移功能,可能会干扰这段代码的正常工作。任何想法?是什么阻止了它的正常工作?
解决方案:
这段代码对我比下面的两个都好用多了。
Private Sub PictureBox_MouseWheel(sender As System.Object,
e As MouseEventArgs) Handles PictureBox1.MouseWheel
If e.Delta <> 0 Then
If e.Delta <= 0 Then
If PictureBox1.Width < 500 Then Exit Sub 'minimum 500?
Else
If PictureBox1.Width > 2000 Then Exit Sub 'maximum 2000?
End If
PictureBox1.Width += CInt(PictureBox1.Width * e.Delta / 1000)
PictureBox1.Height += CInt(PictureBox1.Height * e.Delta / 1000)
End If
End Sub
PictureBox1.Size = New Size(bmp.Width, bmp.Height)
(同时使用相同的方式更新_originalSize)。除此之外,在没有看到更多代码的情况下,我无法看到任何潜在问题。 - user1693593