十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Sub 图片缩放()
创新互联公司专注于杏花岭网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供杏花岭营销型网站建设,杏花岭网站制作、杏花岭网页设计、杏花岭网站官网定制、小程序开发服务,打造杏花岭网络公司原创品牌,更为您提供杏花岭网站排名全网营销落地服务。
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
PictureBox.SizeMode
属性
默认情况下,在
Normal
模式中,Image
置于
PictureBox
的左上角,凡是因过大而不适合
PictureBox
的任何图像部分都将被剪裁掉。
使用
StretchImage
值会使图像拉伸或收缩,以便适合
PictureBox。
使用
Zoom
的值可以使图像被拉伸或收缩以适应
PictureBox;但是仍然保持原始纵横比。
使用
AutoSize
值会使控件调整大小,以便总是适合图像的大小。
使用
CenterImage
值会使图像居于工作区的中心。
Pegasus的ImagXpress 8.0控件,支持各种格式文件的加载。控件封装了右键局部区域放大的功能,要实现图片的缩放,把AutoResize属性设置为PegasusImaging.WinForms.ImagXpress8.AutoResizeType.CropImage,修改 ZoomFactor的值就可以了。
实现代码如下:
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.保存时的一个问题:我们必须先建一个对象,用于存缩放图像。