Pegasus的ImagXpress 8.0控件,支持各種格式文件的加載??丶庋b了右鍵局部區(qū)域放大的功能,要實現(xiàn)圖片的縮放,把AutoResize屬性設置為PegasusImaging.WinForms.ImagXpress8.AutoResizeType.CropImage,修改 ZoomFactor的值就可以了。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供睢陽網(wǎng)站建設、睢陽做網(wǎng)站、睢陽網(wǎng)站設計、睢陽網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、睢陽企業(yè)網(wǎng)站模板建站服務,10多年睢陽做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
實現(xiàn)代碼:
VERSION 5.00
BeginVB.FormForm1
Caption="使用PictureBox控件實現(xiàn)圖像放大和縮小"
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="縮?。?/p>
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控件實現(xiàn)圖片放大和圖片縮小功能
擴展資料:
其它方法:
例子前請先下載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)'創(chuàng)建繪圖區(qū)域設備場景
gpP=GdipLoadImageFromFile(App.Path&"\啟動.png",lngImageHandle)'讀取圖片到內存
gpP=GdipDrawImage(lngGraphics,lngImageHandle,0,0)'等大小繪制
gpP=GdipDrawImageRect(lngGraphics,lngImageHandle,200,0,300,300)'在指定的區(qū)域內繪制(放大或縮小)
gpP=GdipDrawImageRectRectI(lngGraphics,lngImageHandle,550,0,400,400,20,20,80,80,UnitPixel)'在400*400的區(qū)域內顯示圖片部分區(qū)域
gpP=GdipCreateTexture(lngImageHandle,WrapModeTile,lngTextureBrush)'設置一定排列方式的刷子平鋪方式
gpP=GdipFillRectangle(lngGraphics,lngTextureBrush,0,300,400,300)'在指定區(qū)域內按指定的格式繪制圖片
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.NET操作縮放圖像中的顯示和保存縮放圖像,用到Image和Graphics類,在VSDotNet2K3下面Reference里自動添加了引用System.Drawing,直接用就行。
實現(xiàn)VB.NET操作縮放圖像代碼如下:DimimgAsImageImage=Image.FromFile
(D:\Image\tstImage.jpg)
''tstImage是原先的圖片DimgrfxAsGraphics=Me
.CreateGraphics
grfx.DrawImage(img,0,0,img.Width*
3,img.Height*3)''在Form里顯示
DimimgnewAsNewSystem.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事件里面源碼天空
,執(zhí)行就行了。
對上面VB.NET操作縮放圖像代碼的解釋:
1.要獲取Graphics對象只能從某一事件的參數(shù)中獲取或者使用窗體和控件對象的CreateGraphics方法來獲取-----上面代碼使用Me.CreateGraphics來引用這個對象。
2.加載一個圖片用Image類的FromFile或者FromStream方法
3.用DrawImage來顯示一個圖片,該方法有30多個重載方法,可以查MSDN了解細節(jié)。
4.保存時的一個問題:我們必須先建一個對象,用于存縮放圖像。
縮放操作
Function 縮放(ByVal bitmap As Bitmap, ByVal 倍數(shù) As Single) As Bitmap
Dim w As Integer = bitmap.Width * 倍數(shù)
Dim h As Integer = bitmap.Height * 倍數(shù)
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 值可以判斷滾動方向