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
  • 相关阅读:
    SqlConnectionStringBuilder
    什么时候使用“静态方法”(转)
    Dos命令下多文件中查找某字符串
    StructLayout(LayoutKind.Sequential)(转)
    DOS批处理高级教程:第四章 批处理中的变量(转)
    DOS批处理高级教程:第一章 批处理基础(转)
    C#各种进制之间数据转换二进制、八进制、十进制、十六进制
    DOS批处理高级教程:第六章 if命令讲解(转)
    ModbusRTU模式和结束符(转)
    DOS批处理高级教程:第七章 DOS批处理编程高级技巧(转)
  • 原文地址:https://www.cnblogs.com/perock/p/2618421.html
Copyright © 2011-2022 走看看