運用VB畫圖形,想要控制畫好的圖形的像素大小程式怎么寫呢?例如我想生成像素為799×1159大小的圖形以bmp格式保存,向各位大神求救
uj5u.com熱心網友回復:
用pictureBox繪圖,pictureBox的scalemode設定成vbPixels,height設定成799,width設定成1159,保存pictureBox影像就是799×1159的了。uj5u.com熱心網友回復:
你這樣做,根本達不到目的。

scalemode只影響在“繪圖時”各個“圖元像素坐標”跟“記憶體位圖”的影像資料之間的“映射關系”,
不會影響到“記憶體位圖大小”,也就不會影響到保存之后的影像大小。
并且,當你改變ScaleWidth或ScaleHeight的值時,它的ScaleMode自然的就變成 0-User(用戶模式)了;
你事先指定的 3-Pixel 模式已經失效。
height 、width是決定控制元件大小的,但它的度量單位是取決于它的“容器”,而不是它自己的 ScaleMode 。
正確的做法,應該是:
調整PictureBox控制元件的大小(可以在設計時調整,也可以在運行時通過執行代碼調整),
讓它的大小剛好使其 ScaleWidth=799像素、ScaleHeight=1159像素。
然后把AutoRedraw設定為True,再在這個PictureBox上畫圖、畫好后保存其Image影像資料,就是一幅799×1159大小的位圖了。
比如在設計時設定PictureBox的大小:假設控制元件大小的度量單位是“緹”(VB6默認單位)、外觀是3D并且帶邊框:
要ScaleWidth為799像素,那么控制元件寬度就必須是803像素,把其Width屬性設定為12045(此時其ScaleWidth =11985);
要ScaleHeight為1159像素,控制元件高度就是1163像素,把其Height屬性設定為17445(此時其ScaleHeight=17385)。
11985緹=799像素, 17385緹=1599像素。
如果把“剛才”設定好大小的PicutreBox的ScaleMode更改為3-Pixel,就可以看到它的ScalWidth、ScaleHeight分別為799和1159。
uj5u.com熱心網友回復:
不是設定ScaleWidth,是設定Width
uj5u.com熱心網友回復:
將放置picturebox的容器如表單以及picturbox,scalemode設定成pixels,pictureBox 的width和height設定成需要的像素,這樣就可以按像素繪制需要的尺寸的圖形了。uj5u.com熱心網友回復:
SavePicture 陳述句示例
本例使用 SavePicture 陳述句保存畫在 Form 物件的 Picture 屬性中的圖形。要試用此例,可將以下代碼粘貼到 Form 物件的宣告部分,然后運行此例,單擊 Form 物件。
Private Sub Form_Click ()
' 宣告變數。
Dim CX, CY, Limit, Radius as Integer, Msg as String
ScaleMode = vbPixels ' 設定比例模型為像素。
AutoRedraw = True ' 打開 AutoRedraw。
Width = Height ' 改變寬度以便和高度匹配。
CX = ScaleWidth / 2 ' 設定 X 位置。
CY = ScaleHeight / 2 ' 設定 Y 位置。
Limit = CX ' 圓的尺寸限制。
For Radius = 0 To Limit ' 設定半徑。
Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
DoEvents ' 轉移到其它操作。
Next Radius
Msg = "Choose OK to save the graphics from this form "
Msg = Msg & "to a bitmap file."
MsgBox Msg
SavePicture Image, "TEST.BMP" ' 將圖片保存到檔案。
End Sub
uj5u.com熱心網友回復:
將放置picturebox的容器如表單以及picturbox,scalemode設定成pixels,pictureBox 的width和height設定成需要的像素,這樣就可以按像素繪制需要的尺寸的圖形了。
是我失誤了。

不過你設定Width和Height,它的Image還要除開“邊框”占用的像素。
只有把控制元件設定為無邊框的時候,Image的寬和高才能跟控制元件的寬和高一致。
uj5u.com熱心網友回復:
1: 設定picturebox的scalemode為pixel2: 設定picturebox的邊框為無邊框
3:調整picturebox的大小為你需要的尺寸
4:用savepicture命令保存圖片
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/52803.html
標籤:VB基礎類
上一篇:急
