我現在要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
'版本: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⤋