VB6 PictureBox高度

时间:2014-11-08 05:02:12

标签: image vb6 resize picturebox

我正在尝试从PictureBox导出图片,但问题在于导出图片的高度(宽度正常工作)。

我还发现VB6边框对导出图片的大小有重大影响所以我将其设置为0.

只需打开vb6放一个PictureBox(并将其重命名为myPic)......

这是我的代码:

Option Explicit

Private Sub Form_Load()

    myPic.AutoRedraw = True

    myPic.BorderStyle = 0
    myPic.Appearance = 0
    myPic.Width = 100 * Screen.TwipsPerPixelX 'WORKING PERFECTLY!!!
    myPic.Height = 100 * Screen.TwipsPerPixelY 'NOT RETURN 100px !!! Why ? 93px instead 
    myPic.ScaleMode = vbPixels

    myPic.PaintPicture LoadPicture(App.Path & "\Source.bmp"), 0, 0, 100, 100
    myPic.Picture = myPic.Image

    SavePicture myPic.Picture, App.Path & "\Exported.bmp"

End Sub

任何想法?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码,它按照我的意图工作:它在100x100图片框中显示source.bmp并将其导出为100x100像素的bmp

我使用的代码是:

Option Explicit

Private Sub Form_Load()
  With Picture1
    .AutoRedraw = True
    .ScaleMode = vbPixels
    .BorderStyle = 0
    .Appearance = 0
    .Width = 100 * Screen.TwipsPerPixelX 'WORKING PERFECTLY!!!
    .Height = 100 * Screen.TwipsPerPixelY 'NOT RETURN 100px !!! Why ? 93px instead
    .PaintPicture LoadPicture("c:\temp\Source.bmp"), 0, 0, 100, 100
    .Picture = .Image
    SavePicture .Picture, "c:\temp\Exported.bmp"
  End With 'Picture1
End Sub

我只是将.Scalemode放到顶部,因为我认为它属于它所在的位置,但是你的代码也适用于你拥有它的.Scalemode。

您能否添加想要重新缩放的图片?

对于源我使用下面的图片,即300x300像素:

enter image description here

结果是:

enter image description here