アジョブジ星通信

日常系バンザイ。

Twitter用にプロフィール画像を作成するコードを書いてみた

TwitterAPIのライブラリを作ってみてるわけですが、こんなもの作ってみました。

''' <summary>プロフィール画像用に加工します。</summary>
''' <param name="image">加工する画像</param>
Public Shared Function CreateProfileImage(ByVal image As Image) As Image
    Dim img_size As Integer = Math.Min(500, Math.Max(image.Width, image.Height))
    Dim width As Integer
    Dim height As Integer
    Dim x As Integer
    Dim y As Integer
    If image.Width >= image.Height Then
        width = img_size
        height = CInt(width * (image.Height / image.Width))
        x = 0
        If image.Width = image.Height Then
            y = 0
        Else
            y = CInt((img_size - height) / 2)
        End If
    Else
        height = img_size
        width = CInt(height * (image.Width / image.Height))
        y = 0
        x = CInt((img_size - width) / 2)
    End If
    Dim bmp As New Bitmap(img_size, img_size, Imaging.PixelFormat.Format32bppArgb)
    Dim g = Graphics.FromImage(bmp)
    g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
    g.DrawImage(image, x, y, width, height)
    g.Dispose()
    Return bmp
End Function

「ソースが汚い」以外のコメはご自由に。