【问题标题】:VB6 PictureBox heightVB6 图片框高度
【发布时间】:2015-01-04 23:53:14
【问题描述】:

我正在尝试从 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

有什么想法吗?

提前致谢!

【问题讨论】:

    标签: image vb6 resize picturebox


    【解决方案1】:

    我尝试了您的代码,它按照我的预期工作:它在 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像素:

    结果是:

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 2017-11-02
      • 2013-03-24
      相关资源
      最近更新 更多