Font与IFontDisp转化,Image与IPictureDisp转化

下面是AE提供的可以转化Font和Image分别为IFontDisp和IPictureDisp的函数,和我自己写的将IFontDisp和IPictureDisp转化为Font和Image的函数。

ESRI.ArcGIS.ADF.COMSupport.OLE.GetIFontDispFromFont

ESRI.ArcGIS.ADF.COMSupport.OLE.GetIPictureDispFromBitmap

ESRI.ArcGIS.ADF.COMSupport.OLE.GetIPictureDispFromIcon

  ''' <summary>
  ''' 从IFontDisp转换到System.Drawing.Font
  ''' </summary>
  ''' <param name="pFontDisp">传入IFontDisp</param>
  ''' <returns>返回Font</returns>
  ''' <remarks></remarks>
  Shared Function GetFontFromIFontDisp(ByVal pFontDisp As stdole.IFontDisp) As System.Drawing.Font
    Dim pName As String
    Dim pSize As Single
    Dim pFontStyle As System.Drawing.FontStyle
    Dim pFont As System.Drawing.Font
    pName = pFontDisp.Name
    pSize = pFontDisp.Size
    If pFontDisp.Bold = True Then
      pFontStyle = pFontStyle + System.Drawing.FontStyle.Bold
    End If
    If pFontDisp.Italic = True Then
      pFontStyle = pFontStyle + System.Drawing.FontStyle.Italic
    End If
    If pFontDisp.Strikethrough = True Then
      pFontStyle = pFontStyle + System.Drawing.FontStyle.Strikeout
    End If
    If pFontDisp.Underline = True Then
      pFontStyle = pFontStyle + System.Drawing.FontStyle.Underline
    End If
    pFont = New System.Drawing.Font(pName, pSize, pFontStyle)
    Return pFont
  End Function
  ''' <summary>
  ''' 从IPictureDisp转换到System.Drawing.Image
  ''' </summary>
  ''' <param name="pPictureDisp">传入的IPictureDisp</param>
  ''' <returns>返回Image</returns>
  ''' <remarks></remarks>
  Shared Function GetImageFormIPictureDisp(ByVal pPictureDisp As stdole.IPictureDisp) As System.Drawing.Image
    Return System.Drawing.Image.FromHbitmap(New System.IntPtr(pPictureDisp.Handle))
  End Function

原文出处:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9093

你可能感兴趣的:(redis)