利用PaintPicture使用图片居中
我想要的效果是 点击按钮 是绘制出来的图片 顺时针90度旋转
图片格式 和大小不固定希望大虾帮忙写下代码 就想要 绘制出来的图片 顺时针90度旋转Option ExplicitDim tempPicture As IPictureDispPrivate Sub Command1_Click()
    Dim path As String
    path = "E:\fff\TEMP\0001.jpg"
'    Picture1.Picture = LoadPicture(path)
    Set tempPicture = LoadPicture(path)
    PictureToCenter tempPicture, Picture1
    Picture2.Picture = LoadPicture(path)
End SubPublic Sub PictureToCenter(pic As Picture, PicBox As PictureBox)
    Dim PicH     As Long, PicW As Long
    Dim PicBoxW  As Long, PicBoxH As Long
    Dim PicRate  As Single, PicBoxRate As Single
    Dim NewH     As Long, NewW As Long
     
    If Not pic Is Nothing Then
        PicBoxH = PicBox.ScaleHeight
        PicBoxW = PicBox.ScaleWidth
        PicBoxRate = PicBoxW / PicBoxH
         
        PicW = PicBox.ScaleX(pic.Width, vbHimetric, vbTwips)
        PicH = PicBox.ScaleY(pic.Height, vbHimetric, vbTwips)
        PicRate = PicW / PicH
'        PicBox.Picture = Nothing
        PicBox.Cls
         If PicH <= PicBoxH And PicW <= PicBoxW Then
            PicBox.PaintPicture pic, (PicBoxW - PicW) / 2, (PicBoxH - PicH) / 2
            Exit Sub
        End If
        If PicBoxRate < PicRate Then
            NewH = PicBoxW / PicRate
            PicBox.PaintPicture pic, 0, (PicBoxH - NewH) / 2, PicBoxW, NewH
        Else
            NewW = PicBoxH * PicRate
            PicBox.PaintPicture pic, (PicBoxW - NewW) / 2, 0, NewW, PicBoxH
        End If
'        PicBox.Picture = Pic
    End If
End Sub
End Sub