1. vb如何把任意圖片縮放到固定大小的PictureBox並保持圖片原來的寬高比
PictureBox(圖片框)是Visual Basic中用來顯示圖形的基本控制項之一,用於在窗體指定位置顯示圖形信息,它支持多種格式的圖形文件,包括點陣圖文件(*.bmp,*.dib)、圖標文件(*.ico)、游標文件(*.cur)、圖元文件(*.wmf,*.emf),還有Internet 上流行的壓縮點陣圖格式的JPEG文件和GIF文件。最重要的功能是可以在它上面繪圖。但是PictureBox只有自動適應圖片大小的屬性,而沒有圖片適應控制項的屬性。
原題要「把任意圖片縮放到固定大小的PictureBox並保持圖片原來的寬高比」,也就是載入以後圖片不能變形。這樣比較繁瑣一些,但是效果很好,僅供你參考。
准備:在窗體上放置兩個PictureBox控制項,Picture1的長寬要相同(要是按照你的「
PictureBox解析度為,500*200」,圖像就變形了!),一個CommonDialog控制項,一個Command控制項。
代碼如下:
Option Explicit
Private Sub Command1_Click()
Dim imageWidth As Long
Dim imageHeight As Long
CommonDialog1.Filter = "(圖片文件)*.BMP;*.JPG;*.JPEG|*.BMP;*.JPG;*.JPEG" '用來選擇圖片
CommonDialog1.FilterIndex = 0
CommonDialog1.Action = 1
If CommonDialog1.FileName <> "" Then
Picture2.Picture = LoadPicture(CommonDialog1.FileName) '圖片載入到Pic2
If Picture2.ScaleWidth > Picture2.ScaleHeight Then
imageWidth = Picture1.ScaleWidth
imageHeight = Picture1.ScaleHeight * Picture2.ScaleHeight / Picture2.ScaleWidth
Else
imageWidth = Picture1.ScaleWidth * Picture2.ScaleWidth / Picture2.ScaleHeight
imageHeight = Picture1.ScaleHeight
End If
Picture1.Cls
Picture1.PaintPicture Picture2, (Picture1.ScaleWidth - imageWidth) / 2, (Picture1.ScaleHeight - imageHeight) / 2, imageWidth, imageHeight, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight
End If
End Sub
Private Sub Form_Load()
Picture1.AutoRedraw = True '重繪圖片
Picture1.AutoSize = False '圖片框大小不變
Picture1.Visible = True
Picture1.BackColor = RGB(0, 255, 0) '設置圖片框背景顏色
Picture2.AutoSize = True 'Picture2自動縮放以適應圖片,不可見
Picture2.Visible = False
Command1.Caption = "選擇圖片"
End Sub
該代碼在VB6測試通過,結果如下:
2. VB6.0怎麼使用圖片框
VB6.0中使用圖片框的步驟如下:
啟動軟體並新建工程:
- 首先,啟動VB6.0開發環境。
- 接著,在菜單欄中選擇「文件」->「新建工程」,然後選擇「標准Exe」作為新的工程類型。這將為您創建一個新的、空白的窗體,用於後續的開發。
找到圖片框控制項:
- 在VB6.0的工具箱中,尋找一個名為「PictureBox」(圖片框)的控制項。這個控制項通常位於工具箱的中部或下部,圖標為一個帶有邊框的小方塊,有時可能包含一個小圖片以表示其功能。
繪制圖片框:
- 點擊工具箱中的「PictureBox」控制項,然後將其拖放到窗體上。此時,您會在窗體上看到一個帶有邊框的矩形區域,這就是圖片框。
- 另外,您也可以通過雙擊工具箱中的「PictureBox」控制項來快速在窗體上繪制一個默認大小的圖片框。
調整圖片框屬性:
- 選中圖片框後,您可以在屬性窗口中查看和修改其各種屬性,如大小(Width和Height)、位置(Top和Left)、邊框樣式(BorderStyle)等。
- 如果對圖片框的外觀不滿意,可以在屬性窗口中直接更改這些屬性以達到滿意的效果。
載入和顯示圖片:
- 要在圖片框中顯示圖片,您需要在代碼中設置其Picture屬性。這可以通過在代碼窗口中使用LoadPicture函數來實現,例如:PictureBox1.Picture = LoadPicture("C:pathtoyourimage.jpg")。
- 請確保提供的圖片路徑是正確的,並且圖片文件是可訪問的。
運行和測試:
- 完成上述步驟後,您可以運行程序來查看圖片框是否按預期顯示圖片。
- 如果圖片沒有顯示或顯示不正確,請檢查圖片路徑、文件格式和圖片框的屬性設置是否正確。
通過以上步驟,您就可以在VB6.0中成功使用圖片框來顯示圖片了。