十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Sub 图片缩放()
创新互联是一家专注于成都网站制作、做网站、外贸营销网站建设与策划设计,龙凤网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:龙凤等地区。龙凤做网站价格咨询:18982081108
Dim SngPer As Single = 1 '放大或缩小的比例 放大2倍时SngPer=2,缩小3倍时 SngPer=1/3
Dim PicOld As Image = Image.FromFile("原图片路径")
Dim PicNew As New System.Drawing.Bitmap(PicOld, PicOld.Width * SngPer, PicOld.Height * SngPer)
PicNew.Save("新图片路径", Drawing.Imaging.ImageFormat.Jpeg)
End Sub
缩放操作
Function 缩放(ByVal bitmap As Bitmap, ByVal 倍数 As Single) As Bitmap
Dim w As Integer = bitmap.Width * 倍数
Dim h As Integer = bitmap.Height * 倍数
Dim tem As New Bitmap(w, h)
Dim g As Graphics = Graphics.FromImage(tem)
g.DrawImage(bitmap, New Rectangle(0, 0, w, h), New Rectangle(0, 0, bitmap.Width, bitmap.Height), GraphicsUnit.Pixel)
g.Dispose()
Return tem
End Function
鼠标滚轮事件 MouseWheel
MouseEventArgs.Delta 值可以判断滚动方向
PictureBox.SizeMode
属性
默认情况下,在
Normal
模式中,Image
置于
PictureBox
的左上角,凡是因过大而不适合
PictureBox
的任何图像部分都将被剪裁掉。
使用
StretchImage
值会使图像拉伸或收缩,以便适合
PictureBox。
使用
Zoom
的值可以使图像被拉伸或收缩以适应
PictureBox;但是仍然保持原始纵横比。
使用
AutoSize
值会使控件调整大小,以便总是适合图像的大小。
使用
CenterImage
值会使图像居于工作区的中心。
实现代码如下:
Dim img As Image = Image.FromFile("D:\Image\tstImage.jpg") 'tstImage是原先的图片
Dim grfx As Graphics = Me.CreateGraphics
grfx.DrawImage(img, 0, 0, img.Width * 3, img.Height * 3) '在Form里显示
Dim imgnew As New System.Drawing.Bitmap(img, img.Height * 3, img.Width * 3) '新建一个放大的图片
imgnew.Save("D:\Image\tstNewImage.jpg", System.Drawing.Imaging.ImageFormat.Jpeg) '保存放大后图片
你可以建一个Form,然后在Form里拖进一个Button,把上面的代码放在Button_Click事件里面,执行就行了。
对上面代码的解释:
1.要获取Graphics对象只能从某一事件的参数中获取或者使用窗体和控件对象的CreateGraphics方法来获取-----上面代码使用Me.CreateGraphics来引用这个对象。
2.加载一个图片用Image类的FromFile或者FromStream方法
3.用DrawImage来显示一个图片,该方法有30多个重载方法,可以查MSDN了解细节。
4.保存时的一个问题:我们必须先建一个对象,用于存缩放图像。
Pegasus的ImagXpress 8.0控件,支持各种格式文件的加载。控件封装了右键局部区域放大的功能,要实现图片的缩放,把AutoResize属性设置为PegasusImaging.WinForms.ImagXpress8.AutoResizeType.CropImage,修改 ZoomFactor的值就可以了。