Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Shared Function ImageToHtml(strImageFile As String) As String
- Using b As New Bitmap(strImageFile)
- Dim w As String = b.Width.ToString
- Dim p As Color
- Dim clr As String
- Dim sb As New System.Text.StringBuilder
- For y As Integer = 0 To b.Height - 1
- sb.Append("<tr><td height=""1px"" style=""width:" & w & "px;background:linear-gradient(to right,")
- For x = 0 To b.Width - 1
- p = b.GetPixel(x, y)
- clr = System.Drawing.ColorTranslator.ToHtml(p)
- sb.Append(clr & ",")
- Next
- sb.Remove(sb.Length - 1, 1)
- sb.Append(")""></td></tr>")
- Next
- Return "<div style=""display:inline-block;vertical-align:middle""><table cellpadding=""0px"" cellspacing=""0px"" style=""width:" & w & "px""><tbody>" & sb.ToString & "</tbody></table></div>"
- End Using
- End Function
- 'Usage:
- Dim s As String = "C:\YOURIMAGE.jpg"
- Dim result As String = ImageToHtml(s)
- Debug.Print(result)
- 'Resize support:
- Public Shared Function ImageToHtml(b As Bitmap) As String
- Dim w As String = b.Width.ToString
- Dim p As Color
- Dim clr As String
- Dim sb As New System.Text.StringBuilder
- For y As Integer = 0 To b.Height - 1
- sb.Append("<tr><td height=""1px"" style=""width:" & w & "px;background:linear-gradient(to right,")
- For x = 0 To b.Width - 1
- p = b.GetPixel(x, y)
- clr = System.Drawing.ColorTranslator.ToHtml(p)
- sb.Append(clr & ",")
- Next
- sb.Remove(sb.Length - 1, 1)
- sb.Append(")""></td></tr>")
- Next
- Return "<div style=""display:inline-block;vertical-align:middle""><table cellpadding=""0px"" cellspacing=""0px"" style=""width:" & w & "px""><tbody>" & sb.ToString & "</tbody></table></div>"
- End Function
- Public Shared Function ResizeImage(ByVal image As Image, ByVal width As Integer, ByVal height As Integer) As Bitmap
- 'https://stackoverflow.com/questions/1922040/how-to-resize-an-image-c-sharp
- Dim destRect = New Rectangle(0, 0, width, height)
- Dim destImage = New Bitmap(width, height)
- destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution)
- Using g = Graphics.FromImage(destImage)
- g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy
- g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality
- g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
- g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality
- g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality
- Using w = New System.Drawing.Imaging.ImageAttributes()
- w.SetWrapMode(System.Drawing.Drawing2D.WrapMode.TileFlipXY)
- g.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, w)
- End Using
- End Using
- Return destImage
- End Function
- 'Usage:
- Dim s As String = "C:\YOURIMAGE.jpg"
- Using b As New Bitmap(s)
- Using resizedImage As Bitmap = ResizeImage(b, 72, 72)
- Dim result As String = ImageToHtml(resizedImage)
- Debug.Print(result)
- End Using
- End Using
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement