鼠标滚动实现picturebox缩放
大家好,这是我用鼠标滚动轮实现图片缩放的代码,我将picturebox放在一张tabpage里,现在的问题是缩放比例不能按照tabpage大小而改变,有时候缩小只显示在tabpage的左部分,实在搞不定了,请高手指点下啊 (我将picturebox的sizemode设置的是strechimage,改成别的sizemode也不对)
Private Sub PictureBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter
PictureBox1.Focus()
End Sub
Private Sub PictureBox1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseWheel
PictureBox1.Width += e.Delta
PictureBox1.Height += e.Delta
End Sub
__________________________________________________________________________
呵呵,sizemode 设置为:zoom 试过没。不过不行,那就要用GDI+了。比较麻烦。
————————————————————————
简简单单,平平安安,朴朴素素,快快乐乐。
__________________________________________________________________________
楼上高手,能给个例子借鉴下吗
__________________________________________________________________________
是不是要 Reflash
__________________________________________________________________________
给你我写的例子:
VB.Net程序设计:Image图片处理 GDI+绘图技术
http://blog.csdn.net/linjimu/archive/2008/09/17/2942379.aspx
用到的知识点:
获取图片的缩略图
鼠标拽区,截取图片的指定区域
在Panel控件上绘图,绘制鼠标拽出来的矩形。双重缓存的运用。Invalidate、Paint重绘控件。
Bitmap,Image,Rectangle运用。
里面也有图片的放大缩小问题。
__________________________________________________________________________
各位高手,现在出现的问题是:picturebox缩小到没有时,再进行放大,就会出现picturebox大小不能按照tabpage大小改变而改变,当picturebox不缩小到没有时,picturebox大小就能按照tabpage大小改变而改变,请问高手们这是怎么回事啊
__________________________________________________________________________
你缩小设定一个最小值。不要“缩小到没有”。
__________________________________________________________________________
大家好,这是我用鼠标滚动轮实现图片缩放的代码,我将picturebox放在一张tabpage里,现在的问题是缩放比例不能按照tabpage大小而改变,有时候缩小只显示在tabpage的左部分,实在搞不定了,请高手指点下啊 (我将picturebox的sizemode设置的是strechimage,改成别的sizemode也不对)
Private Sub PictureBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter
PictureBox1.Focus()
End Sub
Private Sub PictureBox1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseWheel
PictureBox1.Width += e.Delta
PictureBox1.Height += e.Delta
End Sub
__________________________________________________________________________
呵呵,sizemode 设置为:zoom 试过没。不过不行,那就要用GDI+了。比较麻烦。
————————————————————————
简简单单,平平安安,朴朴素素,快快乐乐。
__________________________________________________________________________
楼上高手,能给个例子借鉴下吗
__________________________________________________________________________
是不是要 Reflash
__________________________________________________________________________
给你我写的例子:
VB.Net程序设计:Image图片处理 GDI+绘图技术
http://blog.csdn.net/linjimu/archive/2008/09/17/2942379.aspx
用到的知识点:
获取图片的缩略图
鼠标拽区,截取图片的指定区域
在Panel控件上绘图,绘制鼠标拽出来的矩形。双重缓存的运用。Invalidate、Paint重绘控件。
Bitmap,Image,Rectangle运用。
里面也有图片的放大缩小问题。
__________________________________________________________________________
各位高手,现在出现的问题是:picturebox缩小到没有时,再进行放大,就会出现picturebox大小不能按照tabpage大小改变而改变,当picturebox不缩小到没有时,picturebox大小就能按照tabpage大小改变而改变,请问高手们这是怎么回事啊
__________________________________________________________________________
你缩小设定一个最小值。不要“缩小到没有”。
__________________________________________________________________________