English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我現在要vb中放一張圖片(原圖片大小為1024*800)
在vb的picture或image中顯示(大小為200*150)
如何做?

我不管怎做,做出來的結果
要不就是全圖,要不就是只看得到圖的一角
而我現在是想要以200*150的大小來顯示1024*800的圖
也就是原1024*800的圖要"全顯示"在200*150的picture或image中

有人知道怎做嗎?

2006-11-09 15:41:27 · 2 個解答 · 發問者 ? 1 in 電腦與網際網路 程式設計

表達能力不佳,補充說明一下
就是要以原尺寸的圖片大小(假設為1024*800)
顯示在200*150的image或picture之中

2006-11-10 06:07:43 · update #1

2 個解答

'版本:VB6.0Dim P As PictureDim pWidth As Integer '圖片寬度Dim pHeight As Integer '圖片高度'把圖片放進200*150的Image跟PictureBoxPrivate Sub Command1_Click()    Image1.Width = 200    Image1.Height = 150    Set Image1.Picture = P    Picture1.Width = 200    Picture1.Height = 150    Picture1.PaintPicture P, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight    Set Picture1.Picture = Picture1.ImageEnd Sub'依原圖片等比例縮小6倍放進Image跟PictureBoxPrivate Sub Command2_Click()    Dim sW As Integer, sH As Integer    sW = pWidth \ 6: sH = pHeight \ 6    Image1.Width = sW: Image1.Height = sH    Picture1.Width = sW: Picture1.Height = sH    Set Image1.Picture = P    Picture1.PaintPicture P, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight    Set Picture1.Picture = Picture1.ImageEnd SubPrivate Sub Form_Load()    ScaleMode = 3    With Picture1         .ScaleMode = 3         .Appearance = 0         .AutoRedraw = True         .BorderStyle = 0    End With    Image1.Stretch = True    '假設圖片路徑為 C:\Test.bmp    Set P = LoadPicture("C:\Test.bmp")    pWidth = P.Width * 567 \ 1000 \ Screen.TwipsPerPixelX    pHeight = P.Height * 567 \ 1000 \ Screen.TwipsPerPixelYEnd SubPrivate Sub Form_Unload(Cancel As Integer)    Set P = NothingEnd Sub

2006-11-10 07:42:29 · answer #1 · answered by W.J.S. 7 · 0 0

問題有點小模糊
你是要將1024*800的圖放進大小為200*150的image裡面就好
這樣只要將image裡面的屬性stretch ,屬性值改為true就可以半到

如果要等比例的放進image裡面
要比較費力一點
要先取原影像長或寬與image元件長或寬
擇一當作等比例的基礎
然後再對影像做重新取樣
這樣就可以半到了

2006-11-09 17:26:24 · answer #2 · answered by yellow 1 · 0 0

fedest.com, questions and answers