zoukankan      html  css  js  c++  java
  • vba 图片

    Function zoom(ByVal shape As ShapeRange, ByVal img As image, ByVal rng As Range)
    Dim orgWidth As Double
    Dim orgHeight As Double
    Dim retHeight As Double
    Dim retWidth As Double
    Dim toWidth, toHeight As Double
          orgWidth = img.Picture.Width
          orgHeight = img.Picture.Height
          toWidth = rng.MergeArea.Width - 4
          toHeight = rng.MergeArea.Height - 4
          If toWidth > toHeight Then
                If orgHeight > orgWidth Then
                      retHeight = toHeight
                      retWidth = orgWidth / orgHeight * toHeight
                End If
                If orgHeight < orgWidth Then
                    If orgHeight / orgWidth * toWidth > toHeight Then
                          retHeight = toHeight
                          retWidth = orgWidth / orgHeight * toHeight
                    Else
                          retWidth = toWidth
                          retHeight = orgHeight / orgWidth * toWidth
                    End If
                End If
                If orgHeight = orgWidth Then
                      retHeight = toHeight
                      retWidth = orgWidth / orgHeight * toHeight
                End If
          End If
          If toWidth < toHeight Then
                If orgHeight > orgWidth Then
                      If orgWidth / orgHeight * toHeight > toWidth Then
                            retWidth = toWidth
                            retHeight = orgHeight / orgWidth * toWidth
                      Else
                            retHeight = toHeight
                            retWidth = orgWidth / orgHeight * toHeight
                      End If
                End If
                If orgHeight < orgWidth Then
                          retWidth = toWidth
                          retHeight = orgHeight / orgWidth * toWidth
                End If
                If orgHeight = orgWidth Then
                          retWidth = toWidth
                          retHeight = orgHeight / orgWidth * toWidth
                End If
          End If
        If toWidth = toHeight Then
                If orgHeight > orgWidth Then
                      retHeight = toHeight
                      retWidth = orgWidth / orgHeight * toHeight
                End If
                If orgHeight < orgWidth Then
                      retWidth = toWidth
                      retHeight = orgHeight / orgWidth * toWidth
                End If
                If orgHeight = orgWidth Then
                      retHeight = toHeight
                      retWidth = toWidth
                End If
        End If
        shape.LockAspectRatio = msoFalse
        shape.Width = retWidth
        shape.Height = retHeight
        shape.Rotation = 0#
        shape.Top = rng.MergeArea.Top + rng.MergeArea.Height / 2 - retHeight / 2
        shape.Left = rng.MergeArea.Left + rng.MergeArea.Width / 2 - retWidth / 2
    End Function
  • 相关阅读:
    LeetCode周赛#209
    CodeBlocks相关配置
    LeetCode双周赛#36
    LCCUP 2020 秋季编程大赛 补题
    while和do while区别
    完全背包--piggy-bank
    数组定义在哪里???重要!!!
    01背包---点菜问题
    java源程序命名规则
    hdu1159-----最长公共子序列LCS
  • 原文地址:https://www.cnblogs.com/perock/p/2618421.html
Copyright © 2011-2022 走看看