1,不要将这些代码放在Form.Load事件里,最好放在构造函数中!
专注于为中小企业提供成都网站建设、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业工农免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
2,加上:
me.SuspendLayout()'如果按钮在其它容器中(如GroupBox):me.grp.SuspendLayout();
'...Loading Images
me.ResumeLayout();
图形绘制最快的是Panel控件,用Panel速度蛮快
Pegasus的ImagXpress 8.0控件,支持各种格式文件的加载。控件封装了右键局部区域放大的功能,要实现图片的缩放,把AutoResize属性设置为PegasusImaging.WinForms.ImagXpress8.AutoResizeType.CropImage,修改 ZoomFactor的值就可以了。
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.保存时的一个问题:我们必须先建一个对象,用于存缩放图像。