PictureBox.SizeMode
成都創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務安陸,十余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220
屬性
默認情況下,在
Normal
模式中,Image
置于
PictureBox
的左上角,凡是因過大而不適合
PictureBox
的任何圖像部分都將被剪裁掉。
使用
StretchImage
值會使圖像拉伸或收縮,以便適合
PictureBox。
使用
Zoom
的值可以使圖像被拉伸或收縮以適應
PictureBox;但是仍然保持原始縱橫比。
使用
AutoSize
值會使控件調(diào)整大小,以便總是適合圖像的大小。
使用
CenterImage
值會使圖像居于工作區(qū)的中心。
窗體上放一個PictureBox,兩個CommandButton,一個FileListBox
Private Sub Command1_Click()
If File1.ListIndex = 0 Then
ShowPic File1.ListCount - 1
Else
ShowPic File1.ListIndex - 1
End If
End Sub
Private Sub Command2_Click()
If File1.ListIndex = File1.ListCount - 1 Then
ShowPic 0
Else
ShowPic File1.ListIndex + 1
End If
End Sub
Private Sub Form_Load()
File1.Visible = False
File1.Pattern = "*.jpg;*.gif" '可以瀏覽的文件類型,使用分號隔開
File1.Path = App.Path '改成你需要瀏覽的目錄,比如"C:\Pic"
If File1.ListCount 1 Then '目錄中圖片在兩張以上可以瀏覽
ShowPic 0
Exit Sub
ElseIf File1.ListCount = 1 Then '目錄中只有一張圖片時只顯示這一張
ShowPic 0
End If
Command1.Enabled = False
Command2.Enabled = False
End Sub
Private Sub ShowPic(Index As Long)
File1.ListIndex = Index
Picture1.Picture = LoadPicture(File1.Path "\" File1.List(Index))
End Sub
如果對您有幫助,請記得采納為滿意答案,謝謝!祝您生活愉快!
vaela
你可以在VB中先生成:
用兩個圖片框:
第一個用于加載原始圖片(AutoSize屬性設置為True)
第二個用于生成縮略圖的,大小調(diào)整成你的縮略圖的大小(設置AutoRedraw屬性為True)
用如下方法,可以生成縮略圖(不過是bmp格式的,如果你要用別的格式,可以用工具批量轉換一下
Private
Sub
Command1_Click()
Picture2.PaintPicture
Picture1.Picture,
0,
0,
Picture2.ScaleWidth,
Picture2.ScaleHeight
SavePicture
Picture2.Image,
"C:\a.bmp"
End
Sub
Pegasus的ImagXpress 8.0控件,支持各種格式文件的加載??丶庋b了右鍵局部區(qū)域放大的功能,要實現(xiàn)圖片的縮放,把AutoResize屬性設置為PegasusImaging.WinForms.ImagXpress8.AutoResizeType.CropImage,修改 ZoomFactor的值就可以了。
很簡單的方法,貌似沒有。這個需要自己寫很多代碼:
用一個ListView控件。
判斷滾動條當前所顯示的圖片集合,獲取它們的物理路徑。
用Bitmap.FromImage方法把這些圖片讀出來,
然后獲取縮略圖,
把縮略圖用Graphics.DrawImage()繪制出來。
我可以提供Bitmap如何獲取縮略圖的方法:
'''?summary必須創(chuàng)建一個委托并將對此委托的引用作為獲取縮略圖?callback?參數(shù)傳遞,但不使用此委托。/summary
Public?Function?ThumbnailCallback()?As?Boolean
Return?False
End?Function
'''?summary返回Image,表示圖像指定?寬?和?高?的縮略圖。/summary
Public?Function?獲取縮略圖(位圖?As?Bitmap,?寬?As?Integer,?高?As?Integer)?As?Image
Dim?myCallback?As?New?Image.GetThumbnailImageAbort(ThumbnailCallback)
Return?位圖.GetThumbnailImage(寬,?高,?myCallback,?IntPtr.Zero)
End?Function
在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.保存時的一個問題:我們必須先建一個對象,用于存縮放圖像。