成都网站建设设计

将想法与焦点和您一起共享

vb点虐 放大缩小图片 vb放大缩小图像代码

在VB.NET下面如何显示和保存缩放图像

实现代码如下:

成都创新互联公司服务项目包括惠安网站建设、惠安网站制作、惠安网页制作以及惠安网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,惠安网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到惠安省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

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.保存时的一个问题:我们必须先建一个对象,用于存缩放图像。

VB中如何才能自动放大缩小图片填充到图片框中啊?

实现代码:

VERSION 5.00

BeginVB.FormForm1

Caption="使用PictureBox控件实现图像放大和缩小"

ClientHeight=5580

ClientLeft=60

ClientTop=345

ClientWidth=7935

LinkTopic="Form1"

ScaleHeight=5580

ScaleWidth=7935

StartUpPosition=3'窗口缺省

BeginVB.PictureBoxPicture1

AutoRedraw=-1'True

AutoSize=-1'True

Height=3960

Left=-15

Picture="Form1.frx":0000

ScaleHeight=3900

ScaleWidth=6240

TabIndex=2

Top=15

Width=6300

End

BeginVB.CommandButtonCommand2

Caption="放大"

Height=360

Left=6540

TabIndex=1

Top=5070

Width=1140

End

BeginVB.CommandButtonCommand1

Caption="缩小"

Height=360

Left=5160

TabIndex=0

Top=5070

Width=1140

End

End

AttributeVB_Name="Form1"

AttributeVB_GlobalNameSpace=False

AttributeVB_Creatable=False

AttributeVB_PredeclaredId=True

AttributeVB_Exposed=False

DimiAsInteger

DimjAsInteger

PrivateSubCommand1_Click()

Picture1.Cls

i=i-100:j=j-100

Picture1.PaintPicturePicture1.Picture,0,0,i,j

Picture1.Width=i:Picture1.Height=j

EndSub

PrivateSubCommand2_Click()

Picture1.Cls

Picture1.Width=i:Picture1.Height=j

i=i+100:j=j+100

Picture1.PaintPicturePicture1.Picture,0,0,i,j

EndSub

PrivateSubForm_Load()

i=Picture1.Width:j=Picture1.Height

Picture1.Cls

EndSub

VB6.0通过PictureBox控件实现图片放大和图片缩小功能

扩展资料:

其它方法:

例子前请先下载Gdiplus.tlb,并将其放置到C:\Windows\System32中

Gdiplus.tlb下载

VisualBasiccode

使用Gdiplus.tlb,将其放到system32中,然后添加对其的引用

手动设置Form的AutoRedraw=True,ScaleMode=Pixels

OptionExplicit

DimlngGraphicsAsLong

DimlngImageHandleAsLong

DimlngTextureBrushAsLong

DimgpPAsGpStatus

DimlngPen1AsLong

DimlngTokenAsLong

DimGpInputAsGdiplusStartupInput

PrivateSubCommand1_Click()

DimintPAsInteger

gpP=GdipCreateFromHDC(Me.hDC,lngGraphics)'创建绘图区域设备场景

gpP=GdipLoadImageFromFile(App.Path&"\启动.png",lngImageHandle)'读取图片到内存

gpP=GdipDrawImage(lngGraphics,lngImageHandle,0,0)'等大小绘制

gpP=GdipDrawImageRect(lngGraphics,lngImageHandle,200,0,300,300)'在指定的区域内绘制(放大或缩小)

gpP=GdipDrawImageRectRectI(lngGraphics,lngImageHandle,550,0,400,400,20,20,80,80,UnitPixel)'在400*400的区域内显示图片部分区域

gpP=GdipCreateTexture(lngImageHandle,WrapModeTile,lngTextureBrush)'设置一定排列方式的刷子平铺方式

gpP=GdipFillRectangle(lngGraphics,lngTextureBrush,0,300,400,300)'在指定区域内按指定的格式绘制图片

IflngGraphics<>0ThenGdipDeleteGraphicslngGraphics

IflngImageHandle<>0ThenGdipDisposeImagelngImageHandle

IflngTextureBrush<>0ThenGdipDeleteBrushlngTextureBrush

Me.Refresh

EndSub

PrivateSubForm_Load()

DimbolPAsBoolean

WithMe

.Caption="GDIPlus范例"

.Width=960*15

.Height=720*15

.Left=(Screen.Width-.Width)*0.5

.Top=(Screen.Height-.Height)*0.5

EndWith

GpInput.GdiplusVersion=1

IflngToken=0ThenbolP=(GdiplusStartup(lngToken,GpInput)=Ok)

EndSub

vb图片的放大缩小

flag要设为全局变量或静态变量,否则的话,每次点击Command1,flag的值都是0的,并不会如你所愿变为1。下面是修改后的代码(用的是静态变量,一楼用的则是全局变量),同时还修改了一些小错误:

Private Sub Command1_Click()

Static flag As Integer 'flag声明为静态变量,这样它的值就不会被初始化为0

With Image1

If flag = 1 Then

.Width = .Width + 200

.Height = .Height + 200

If .Width Form1.ScaleWidth Or .Height Form1.ScaleHeight Then flag = 0

Else

.Width = .Width - 200

.Height = .Height - 200

If .Width = 500 Or .Height = 500 Then flag = 1

End If

.Top = (Form1.ScaleHeight - .Height) / 2 '让Image1居中的代码应该放在If结构的外面!

.Left = (Form1.ScaleWidth - .Width) / 2

End With

End Sub

补充一点:尽量用Form1.ScaleWidth和Form1.ScaleHeight,不要用Form1.Width和Form1.Height,因为后者是包含窗体的边框、标题栏、菜单栏、状态栏等等的宽度的,会造成你的控件居中的计算结果产生较大误差!

vb点虐 中怎么实现图片缩小和放大

Pegasus的ImagXpress 8.0控件,支持各种格式文件的加载。控件封装了右键局部区域放大的功能,要实现图片的缩放,把AutoResize属性设置为PegasusImaging.WinForms.ImagXpress8.AutoResizeType.CropImage,修改 ZoomFactor的值就可以了。


网站栏目:vb点虐 放大缩小图片 vb放大缩小图像代码
文章转载:http://chengdu.cdxwcx.cn/article/ddjhpoe.html