Solved

Convert Base64 string to jpeg

Posted on 2014-10-31
12
590 Views
Last Modified: 2014-11-03
I recently accepted an answer to a question I submitted on converting a base64 string to a jpeg.  The answer was correct when using the supplied base64 that the question participant used, he did suggest that I supply my base64 string.  Anyhow when I have attempted to use the code on my string and I get the same black square that I have always returned.

The original question is here.
http://www.experts-exchange.com/Programming/Microsoft_Development/Q_28546044.html

The answer accepted is here.
Imports System.IO

Public Class Form1
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Try
            Dim txt As String = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" ' red dot from wikipedia
            If txt.StartsWith("data:") Then
                Dim poscomma As Integer = txt.IndexOf(",") + 1
                txt = txt.Substring(poscomma, txt.Length - poscomma)
            End If

            Dim ms As New MemoryStream(Convert.FromBase64String(txt))

            Dim bm As Bitmap = Bitmap.FromStream(ms) '<---load bitmap from memory stream

            'create new memory stream
            Dim jpgms As New MemoryStream()
            jpgms.Position = 0
            bm.Save(jpgms, System.Drawing.Imaging.ImageFormat.Jpeg) '<---convert to jpeg

            PictureBox1.Image = Image.FromStream(jpgms)

            'jpgms.toArray() '<--used as data source for sql 2008 image
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class

Open in new window

Are you able to do this with my base64 string. which is below?
data:image/png;base64,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

Open in new window

0
Comment
Question by:JoeBo747
  • 5
  • 4
  • 2
12 Comments
 
LVL 32

Expert Comment

by:it_saige
ID: 40416050
I get a black box when I use your base64 string:Capture.JPG
And a red dot when I use his:Capture.JPG
-saige-
0
 
LVL 32

Expert Comment

by:it_saige
ID: 40416068
And when I added
PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize

Open in new window


The picture box change size to what looks like a banner size and still displayed an all black box:Capture.JPG
-saige-
0
 
LVL 1

Author Comment

by:JoeBo747
ID: 40416233
Yes that's my point,  If you do not change the format of the image you get back form the base64 string you get an image containing a signature.test-png.png
I need to change the image to a jpeg,  when I do I get the black box!
0
 
LVL 32

Expert Comment

by:it_saige
ID: 40416459
Ah.  I understand now.  I got your answer.  Had to do a little experimenting.  It comes down to the fact that the original base64 string is a transparency image and bitmap does not support transparency, so the bitmap draws it as all black.  

Revised code using extension methods:
Imports System.Drawing.Imaging
Imports System.Linq
Imports System.IO

Module Extensions
	Private encoders() As ImageCodecInfo = ImageCodecInfo.GetImageEncoders()

	<System.Runtime.CompilerServices.Extension()> _
	Public Function ToJpeg(ByVal ImageIn As Image, Optional ByVal Quality As Integer = 100) As Image
		Dim encoder As ImageCodecInfo = (From item As ImageCodecInfo In encoders Where item.MimeType.Equals("image/jpeg") Select item).FirstOrDefault
		If Not encoder Is Nothing Then
			Dim parameters As EncoderParameters = New EncoderParameters(1)
			'Set Quality Parameter
			parameters.Param(0) = New EncoderParameter(System.Drawing.Imaging.Encoder.Quality, Quality)
			'Save to a Memory Stream
			Dim ms As New MemoryStream
			ImageIn.Save(ms, encoder, parameters)
			Return Image.FromStream(ms)
		Else
			Return Nothing
		End If
	End Function

	<System.Runtime.CompilerServices.Extension()> _
	Public Function ToImage(ByVal BitMapIn As Bitmap, ByVal Quality As Integer) As Image
		Return Image.FromStream(ToJpegToStream(BitMapIn, Quality))
	End Function

	<System.Runtime.CompilerServices.Extension()> _
	Public Function ToJpegToStream(ByVal BitMapIn As Bitmap, ByVal Quality As Integer, Optional ByVal CompressPct As Integer = -1) As MemoryStream
		Dim encoder As ImageCodecInfo = (From item As ImageCodecInfo In encoders Where item.MimeType.Equals("image/jpeg") Select item).FirstOrDefault
		If Not encoder Is Nothing Then
			Dim parameters As EncoderParameters = New EncoderParameters(1)
			'Set Quality Parameter
			parameters.Param(0) = New EncoderParameter(System.Drawing.Imaging.Encoder.Quality, Quality)
			'Save to a Memory Stream
			Dim ms As New MemoryStream
			BitMapIn.Save(ms, encoder, parameters)
			Return ms
		Else
			Return Nothing
		End If
	End Function

	<System.Runtime.CompilerServices.Extension()> _
	Public Function ToBitmap(ByVal StreamIn As MemoryStream) As Bitmap
		Dim image As Image = image.FromStream(StreamIn)
		Dim bmp As New Bitmap(image, image.Width, image.Height)
		Dim graphics As Graphics = graphics.FromImage(bmp)
		graphics.FillRectangle(New SolidBrush(Color.White), New Rectangle(0, 0, image.Width, image.Height))
		graphics.DrawImage(image, New Rectangle(0, 0, image.Width, image.Height))
		Return bmp
	End Function
End Module

Public Class Form1

	Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		Try
			Dim txt As String = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAi4AAADcCAYAAABXjyrkAAAABHNCSVQICAgIfAhkiAAAGgRJREFUeJzt3WuoPOddwPFvpLZeCtmiSL1mCl5KvXQr6BspGV/4phZ7RGyVItmCKIrYUxChL2w2+sKCSP6BgMUL2b6oCm3NiTRY2hfZ0CARtTmxWhOoZv8Ve9HYnGNqlET798WzD/PM7Ow5e/bMbXe/HxjO7s7uzHPO2Zn5ze+5gSRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ0iXGy0WSJGnQZsCt5fJAv0WRJElab0wRtMTFzIvUkq/quwCStON+pua1UeelkCRJukQOPM9qxiXvr0iSJEn1nmU1aDFwkVpkVZEkbWcMfEPfhZAOjYGLJG3HdixSDwxcJGk72QXrTrsqhCRJ0iYepmjT8pXk8Qt9FkqSJKnOC5SDlfj4Y30WStp3VhVJ0tXlwNcmz9PHn+u2KJIkSRc7pciwzCl3hZ70VipJkqSKCUWQsqAcxNzi4ka7kiRJnfok5ezKfybPX+qvWJIkSWXphIqfXL52nrz26Z7KJUmStGLG6gzQaTXRvJdSSZIkVWTUBygGLlKHXtZ3ASTtrDcD3wd8D+Gi/krg1YSJBwHewX6NIHtc8zirvOesm6JIkqRN5MADwHPUz4qcLk/0U8RWjCh+r1nyek75d77RdcGkQ2PGRdJlxsBbCD1osit87rY2CtOTNNtyUXBixkVqmYGLpDpj4C7grcC3rHnP3wP/Cjy+fP6DwOuALy+fT1osX5cy4O7l4/vYr+ovSZJ21hi4F3iG+qqfM0I1yVFP5evLDdYPLndM+W90jKRWmXGRDlvMrOQU3XtTjwIPAY9wmJmGjPD3Afgtwki5qVHluVVFkiQ1aERor/IA8DyrWZU5IcNwaFmVdWaEv8spq0EKwJTy3y/vqFySJO2tESFr8ADli+yLhAzBCSFQqbswH7KMy6uAphi4SJJ0bUeEQKXaXuWMkFWZ4mSAl4ltWy6qIpviBIuSJF1ZRsgKPEh99c8x9W1YVC9jsyxK2nD3VuulkiRph8X2KtVg5ZSQCbD6Z3szwt/yZMP3GbhIkrTGEfAw5dFrTwjjphioXF86A3R2yXvNuEiSVCOOsRIvkE8RghXHDWnenM2H708Dl3l7RZIkafhGwDspGtjGHkA5ZlbakhP+1gs2+xsbuEiSDl5O0W7F7srdOuVqI+BOMXCRJB2gmF15guKO/xi713Yp52rZFigHLs4MLUnae9W2Kzew23JfYrZlcoXPTCn+d9PGSyRJ0kAcEeb/id2Xj7EqqE8TQrXcp674uXSSxWmzRZIkqV9jQnuV5wjVETdwiPghGFFU0eVX/GxOEbhMmiyUJEl9GBEuaDOK8VZsaDssEy4f2n+dHOcpkiTtuBHhIhbbrryXcHG07crwjCgG8tvm/5MOVuf/V+rAy/ougLRHxoRZmH+S0F5iBryB7e7k1Y3Ytugh/D9Jkg5A7BX0DEW7Fe+8d8OIZrIlDvcvSRq0ESGz8iAhs2KwsptmbDaR4mW+AHz+2qWRJKlB1WBlRmhkq92UUbRtya65rcVykYYiDrdwDrwE/BchM2ynAOkAHAEPYLCyb2Y0N9qtVUUaihHFdCF1yxOYHZb20pjQaPOEcGEzWNkvGcWJPGtge2eE7I3UpyPCd3Fd0BKXz/RVQEnNmxCClWOcgXmfzWl2pFszLupTTjEKd93yEvBC5bVNJxGVNEDj5TLHkU8PQRx35YzmAtNbmHFR90aU5zmrLicUGcUx8Gyybt5tUSVdV0aYiXkBvAnrfA/JCc3PK2TGRV3LKKapqC6fBt5W85m88j4zytLAjYG7KcZbMVV6eHKaz7aAgYu6NQY+x2rAcsblAfkief9vtlZCSVvLCD2CnqFIjzpP0OGa0079voGLujKmPtMyY7PzWjqb+Qs00zhd0jVlhHrfeHDHbsxWBx22nPB9WLSwbQMXdWFMMfZQGnzkV9hGOlr0LUKjXkk9yAhtVtI7kTPC3UXWW6k0JHPC92LSwrab7Fot1RlRZI7jcsp2N2SzynYmjZRQ0kbGhKqg9CCc44Gospz2si1QBEV5S9uX5qwGLdtWeWeVbT1z/eJJukgcer969zHDC0dXJoT/wa44JXxH2hpIcI6Bi9ozZbURbnbNbc4q23SQTakFGaE6KK3jXRAOahvbdmfCbqWYc4o71LbELtae/NW0OO5QujTRXq+63WkD25S0VFcddIoXib5MKGe5hi5mW/IW93EDT/5qXl27lkmD218k232swe1KBytndbKwGfYOGoJdGcRqQkirf6rl/cQupk1M2ChBOK7mlI+1pr9fTyXbfrbhbUsHJafcO2hBOGCz3kqkqhnDry4aUXyP8pb3NcFh1NWsGas3bU17X7L9v2lh+9LeOyYMVZ1WBx0z7Dv6Q3XE8HskxCxIm21bony5L+crUhNmlIOWB1vaT2ybdWv5WNIGRpTHXzmnCFg0XCPK9eN5n4WpMaJoxN1FW6gR8CLwXx3sS/ttSvuZFlgdiG7S0n6kvTGimDcozbDkPZZJVxMbpA5x9M1YtkWH+zxj+G1+NGwTysHECe19n96d7OespX1IeyEGLGmX5hMMWHZRtTvlUBpNp3eSkw73GwOXvMN9an9MWB1Is80g+EvJvsxwSzVilVCaYTlhOBc7bSderIfUNTrW2y863u8cLwLaTk75Zu46o+Juur9d6Rko9eKY1QyLAct+mFP8X5+j/55faRZo0vG+ZziWi66uOnHigvaPo7RRrl34pcQEMyz7bsqwGvjN6SfbAsXfwt4Z2lQ1aDmj/XNktYo3a3l/0k7IKQcscwxY9lXschyXz/dYlrSL9qTH/T/Rw761e/oIWtKxjcy2SISD7hHKAUveY3nUvjdRDlz6bKS7oL9sC5TvZG0zoIvUVQ91cdykPQEX+D3VAcuAeyk3LJv0WB51p24CuEkP5UgzP33sPxrquDYajmqwP6ebAOLXGMYNhtSratfmM+xRcYjSnkV9pJ/TiegWHe+7Kk7oaApedSasHitdBC3VGwzP0zpI1Z5CU0w7Hqo5q3eQXRpKtgWKVLztXFSVVtPcAt7T0X7TUaRvAX/c0X6lwZhQbng7w4Dl0E0pn5C7nK8nPSkvOtzvOjm2c9GqtPvxGd1WJcYsYJfVUtIg5JQb3p5gNzoFE1bbudTJWtj3kLItUZqF1GGr9uI5o9vz5jzZd9uD2kmDMSbMTOpYLFonZzVw+W3gbymftNPlDPgIoVH33cCdW+57wXCyLdGMUKbHey6H+jVmdS62rgKHuoDJ87b23hj4FOUqIb/4qlPXs2ib5TlCELOpSfLZybV/i+b8AkW5sn6Lop4cUW5XMqe7oCWjHDAZtGjv5RRVQl8i3CX4pdc6Y9ZnVbZd/pHNTvKx7n5oM9tmDDOgUjeqgzLOOtx3zuqcR1mH+5c6ZZWQrmJEeeyeuuUceJjQ1uOYcBE/Bt4HfJJyo8Hq8gwXf//SUXKH2LVzjr2LDs0IeIDy97jL7+bvVPZ9gm1atKeOKN8xz5evSeuMKDfUri5Pc7UT5phwgn+J1eBl3XZiL42hZVuiKfYuOiQ5q9UzXZ1H647HaUf7ljo1YTVgyfsrjnZIdTyKeKKOj7cdfG3EahbmkZr3pW1qhjrQW5+zVKs7dZnHLqtnqlMHPE8YmVfaK1NWW7qbYdGm6hriTilnGK4zO3Jd8JJX3pNmW4aczViwPvjS7qtmq7vMdMRRy/sKmKTWVYfmtw2LtvVX1NfhT5PX5tfcR1bZxyxZtwvZlihtpOmxtj8y4EOUv6Nzugsacso3n/FYGHIQL20spjHTgGWGVULaTjXbko5TMqW5wAWKsVDicsfy9fSCkTWwnzZl9NOzRO2JU518he4z1jmrbVm6bEsjtWpdwOJdn66j2s3zbcm6Kc0GLtUg6ZHKa7syuNuc3Qm0tF612/+XgXd3uO+0x6dZFu2VasByRghYsv6KpD0ypXziXLdu3tD+qtVS6fNducvMMeuyy+qChht0c04dAQ9RH7B0sX+pVXVtWGb45VazphTfr+pEium6eUP7G7F60r7FsIb338Qc27rsmrreQl21C8xYHQ8mntPNsGgvTFgNWPxyqw3pDLfzyrrpBeuuI91u1z03mpJTlP2xfouiDUwpn1MXdJPhW1clFKtJpZ1X7YrnbM1q2+cpvm8fq6ybJuua7O0zAv6b8ok8a3D7XfkMRfnzfouiNSbUd29u80ZwBNxF/YCOcwxYtCdyypMfGrCoK+lJ9Zcr66aUT/ZN+t9k2+cNb7srOcXv4DQAw3LEauAwo93z6hGrHSjSgCVvcd9SZ9IMyzlOfqhuVdubZJX1U9oJXCaV/Z42uO22jIA/IGSonqI4TtOqtl1pXLzPJqwGLHPaCxrGhLaI6yYlnbW4b6lTOeWDa4FDiKt7ORc3jp3STuBSHUV33uC2m3YH8GFWL0gxw5J2536mjwKKEfBOVgdwm9N80DAC3kLIrPwn9cHKKWGYAdslai/k1E+c5RdcfZhwcfDwnmT9exraZ87qib5u30PwLlYniazLEqVZl2m3RTxoY+qrZk5oNmCJWZW6Nivp92GKVfzaIxmrXeGsFlLf0sHnpjXrJ8n6SUP7nLF60p81tO2mjIBPsP4i9W+Uj92ssj7vrqgH6ZjVqpkFzdwEjgj/v8sClbjP38HzuPbQlPIdwRnFXDBSn/6I4nt5f836NLBp6jubzjg9xCzFmHJPq+ry3jWfmybveQ6zqE2L2ZX0fxEH48y33OYIeDNwD+HGslrVtG45wfZM2lM5qweCvYU0JDe4OHhoOnA5ov5CMJQ71vdQ7u1Urc7KLvn8PHn/Iy2V8ZDEtitPELJc6Xl0wvrgcAzcSWiL8psU2ZO41PX62SRYuWifasDL+i7AAYujM06S186Xz096KI+0TtcBQ91d6k3671V0B/Bx4Ltq1p0TgrbZBts5IlQf3E64cbkf+JUmCrjHRoSA8Pbl828FfgJ4HfD9yfv+Hfgo8CjwCuB7Cf+3EcX3OKOZG8MnCd/JuMwb2KY0WEfUNxQzStcQzbk443J0yfqrWrB6J9vkwHbbOAH+j/q77G0mvKtOJJk3VdAdFoOLt1BkP7bJerSxfIoQDB0T/leeq3tkxqVbsf41T14zy6KhWxBS6l0YEe6Qq/oKXN5L6DX08pp19xECtbMttnsK/CzwJ8vnjwCvYffmYrqOnPC9ymkuC3JVjy5//hMhOIFyZm/BYf1PdoKBS3emhHrYNFK/h3BC3ubEJ3Vlccn6Jr+/ec1rz25Qhqb9AiEw+Zqade8iVAld9/f+U+C1hOwChODlDQ1sd6him5KczbMWXwZemTz/IvA44fvwJeCzy9fPCIFPdZvfDvzL8vEpxd82fSypIme1S55dnLVLplxcFZRfsv4qHmY1Tf9719zmVbyZ9b2F5jSfFRixv411x4S5eB7g8iqfxwiTDD7C6oBtC0IVTdZl4aVDlLE6xoNdnLWL7qf4Dtd1h85pLnA5Z/Will9zm5sYA39bs+9bhLv6Nru1ZpS7fz/C7l2kY9uUe7l8XJNbhAD1D4EPrnn/nPBd8gZP6sCI1UHktm3AJw3Be+km41KdEykubcqAv1yz39hTqAvVLuAvEKqSh6g6+NomDWgfI7Tn+SD18/WcYldiqXMjwoFcPYifB97YY7mk65rSTeCSjgcTl7YarWeEqol1AcuU7i+gR6wOvPcEIZPRp1jl8yDrJwmsZpb/fPn+h9Z8Zk5oJzRh97JL0l6o695slkX7Yko3gUs6l09cJtfYXp2M9QFLLH+fx+yY0LulWq5nCDdGd3aw/7sIVT6bBCm3luX9AOHv+keEcVTS9QvC/zZ2JZbUozH19bNnONSz9seUiwOTpsZxWbB6HDUVRGTUV+HGZdbgvppwTP20B3H5O8K5551cL5jJl9t4kM2rfD4E/BmhDd8Tlc/NCVWLUxzvRC2xO/R26ka9je7DBrg6LGmX4ae23Ebd+C0nXL/LahwO/pj6i+hjwM8xvLE6blBkKSYUI8ZGcbTYPHntlPB7xHFIFsufI+AbCAPoxUHeMjarojkFvgC8CHwH8COV9Q8tl+q+JQ3IMfV3JgtMg2o/Tbk4ozJJ1m+bacxZPaau06NkXZuzuHz6mtvv0ohw3omB3CbVN9su/wZ8htA2r+4cN8MqH2lnrKsWsi2L9l3aaHZSs36arM+33EfO6gV0G5cFLF9mWLNMb+vNwLsJgcQpzQcwc8J57Zhw7vP8psGwquhy8URYV/1zk3Ain3dYHmkfVbMf799iG8eEY3XdRfYmIUBabLHtofnIcoliF+WcUI30HYQRZ18JfDVhwsGqONx9Ws2zYD/+PtpjBi4XmxDastSdCB2uX4eorTvvH648/8CGn8so2rBc5DrzCg1RtlxeT3mun/T/c04YVG+xXM4wOJH21s8Df019CvUExx3QYUl7DdW1YUm7MWdbbH/EapuK/JLP5Gw2QuvZBtsashHhb3o34UbpfYTf6znC73ZGyPjGhrxHWLWjPWfGJcgIgzzlrO/Cd5OigZx0SL4xeVw36WB6vCy22P6vUp5Ib50RYYyRTeeteT9Ft+Khi1U9dxB+t9jzZwTcRuhV9BCh19Y9FJM87sLvJjXKwKV+1uYqq4V0yL4tefzqmvXXvbv/0ZrXcoq2Y2PCMXq04b4eJRzX84vf1osxoXonowhQ0vY95xTtTdJuxovOSigN3KEHLidcPJz2PwM/hWMTSFFd4PD65c8nt9zmbTWv/TTwA4RxQ75pw+18HPh1+j9eM0LmJGf9uCnnhHI+ScgMLSiCFEkXOOTAZcb6oOWckGGZdlUYaUdclHXcNiNZFwy9brlc5ibhBuQG/Vz0x4SRa2NVT7V9yZOEcr2fonHsKWZvpa0dauDyNkJdedVNQkBjtZBUyJLH1ePionWbOqXI2mziBUJ25YRmRtfdVAxSxhQ9eaIYoNyHo8hKasHTDH+uEmko5qzvVZQn66Zbbj8HvsL6nkHPAfcTBl3rypjwu95LufdSzJrcoOjBI6lDh5hxGQPfXXntwzQ/C620j9rIbsyBnwB+H/jm5WvnFKO3zlvYZyojZFLeQOg19YvL/Z8RMidzQiZlgVkUqXeHGLhMKs//GHh7D+WQVPgI8C2ErOeI9tqrjAjVUjGjEhvPQtHd+B10WwUl6QoOMXDJk8ePYtAiXUc6/sq2M0Onmh6b5E7K4zPFIOVRQvZkjpkUaaccWuAS77aiSU/lkHZVtR1Yeg75ny4LskY6kGRGKG+sdnoUeBfDHN9F0oYOLXDJk8exF4Cki6UZkDHl0aOzNe/rwohyRiVmU24SgpP3U2RVJO2JQw5cHLpf2swpxZhH1eCk6554sUvyEcXxHAOV2BXZah9Je+OM600GJx2i+ymOm49W1h2z+cSI27oLeIByF+k4qWDW0j4lDdQhZVwmhInKINR1L3oribRbnk0eVydZTDMwOc1Uy4wpt1WBcvsUMyrdyAgZtdsrr6U/68SeYenz6Cz5mRGyZbdT9CSLnz1LPhe7pafia3F7t9W8pj11SIFLatZ3AaQdVR3hdtHANuOsz3FE2lctXz8hTMA4b2Af+y5LHscL/u2Ev2UMAl4P/DvwckJ125MU8ypVB9KrqwI8X/68KHBcUA44oDwX1W3Jz+rjdHlN8plXLZ+PKQdRmzhLlhGhq/v8itvQwBxS4DJb81jS5tI74uvIKcZRuYtizqF7OJx2Ktny5x0Uf9essj4GAenPdEnFwCK9UJ9QZDMyQuACIWiJUxNAaB+UXuRhN7LSGeUsUDXTkyWP46CC2nGHFLiAAYu0jUXl+Zir37VmFD2AYsDyKPA4+5VVySgHFjEoGSfr43uic4oqjjRouLlc4vP0J5X3HuoFecFuBFhq0KEFLpKublF5nlMEGhf1Kjqi6AGUUfT+uYdwE7ErF9u0GiVWuTxJkS06p7izv5MQkFWDkIeSx3HdorUSS3vMwEXSZaoBRnoh/87k8dcQgpTYsDajCFbeQaiaGEKwklE0Os1YrWoYUV9N8yRF+b8IfIEQkMwpqmYWbRVaUnDb5W+RJG4ljxcUjSenwN3Lxy8AX0fRXmVG921VMkL1TEYRkOTLn2MuH3fmnCLAim1A0kVSzwxcJG1iTqgGiX4c+DHgl4BXLF/7CPAbtBusZJQDkxiMxOebiiNnnyY/rb6RdoBVRZI2cUo5cHl4+fM/KAKX36WZoCV2e82T5xmrXXYvc5MQiMxZzaBI2lFmXCStExuiHhOyK1+frPs48FbgueS1Tc8nsZfN7RQZkxicZFuUMw1QFhxOd2rpIJlxkZTKCcFKDnwr8EPL1z9OCF6iN1DOgNykbExRpTPiau1M1okjXi8oV/FIOiBmXKTDNQbeTugZlFMOKG4CfwE8DdxYvvY88MrkPZ8A3rh8/CXgs1y9Oqcq9tyZU1TvDKU3kqQBMHCRDtMYeKLy2ouEnkEvoxygNCn22lmsWSTpQlYVSYpevly2lc5lE7MkZ5S7F0uSJG3lacL4LE0ss26LLulQWVUkHa4xqwFHtS3JorJMCMPcVz0NvLa5okmSJF1fRn3GxcazkiRpkJ5iNXD5h15LJEmStMYRq4HLGy/8hCRJUo+mFEHLtNeSSJIkbWDE9qPgSpIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSdoj/w+6ATbNfqIQ7QAAAABJRU5ErkJggg=="	' red dot from wikipedia
			If txt.StartsWith("data:") Then
				Dim poscomma As Integer = txt.IndexOf(",") + 1
				txt = txt.Substring(poscomma, txt.Length - poscomma)
			End If

			Dim ms As New MemoryStream(Convert.FromBase64String(txt))
			Dim bmp As Bitmap = ms.ToBitmap()

			'create new jpg from bitmap
			Dim jpg As Image = bmp.ToImage(100)

			PictureBox1.Image = jpg
			PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize

			'jpgms.toArray() '<--used as data source for sql 2008 image
		Catch ex As Exception
			MsgBox(ex.ToString)
		End Try
	End Sub
End Class

Open in new window


Produces the following output:Capture.JPG
-saige-
0
 
LVL 1

Author Comment

by:JoeBo747
ID: 40416911
Thanks for your work,  but unfortunately the code doesn't work for me!  I have copied your module into my test project and implemented the code exactly as you have shown,  the result is a broken picture box as shown in the image below,  am I missing something?

broken-image.png
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 32

Assisted Solution

by:it_saige
it_saige earned 250 total points
ID: 40417110
Copying the above code into a new project on a different computer produces the expected results.  I have attached the project.

-saige-
VBFormsExample.zip
0
 
LVL 27

Accepted Solution

by:
Ark earned 250 total points
ID: 40417938
For transparent png's you need specify background color to replace alpha chanel:
    Private Function Base64ToBitmap(ByVal b64 As String, ByVal transparentColor As Color) As Bitmap
        If b64.StartsWith("data:") Then
            Dim poscomma As Integer = b64.IndexOf(",") + 1
            b64 = b64.Substring(poscomma, b64.Length - poscomma)
        End If

        Using ms As New IO.MemoryStream(Convert.FromBase64String(b64))
            Using bm = Bitmap.FromStream(ms)
                Dim bmOut As New Bitmap(bm.Width, bm.Height)
                Using g As Graphics = Graphics.FromImage(bmOut)
                    g.Clear(transparentColor)
                    g.DrawImage(bm, 0, 0)
                End Using
                Return bmOut
            End Using
        End Using
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim txt As String = "Your string here"
            Dim bm = Base64ToBitmap(txt, Color.White)
            'create new memory stream
            Dim jpgms As New IO.MemoryStream()
            jpgms.Position = 0
            bm.Save(jpgms, System.Drawing.Imaging.ImageFormat.Jpeg) '<---convert to jpeg
            PictureBox1.Image = Image.FromStream(jpgms)

            'jpgms.toArray() '<--used as data source for sql 2008 image
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

Open in new window

0
 
LVL 1

Author Comment

by:JoeBo747
ID: 40418558
Now I have a dilemma! The code from it sage doe's exactly what I asked for in my  question,  it  fixes  my bitmap and answers the question thank you.  The later arrival of Ark also supplies the answer and I favour this as the fix mainly because of the more lightweight approach.  The question is now how to distribute the points it sage has stuck with this but Ark is the one I will implement in my app. Is 50/50 fair? Its my choice but I wish to be fair,
0
 
LVL 32

Expert Comment

by:it_saige
ID: 40418572
50/50 works for me.  Just glad you got your answer...

-saige-
0
 
LVL 27

Expert Comment

by:Ark
ID: 40418830
50/50 is Ok :)
BTW, why do you need png->jpeg conversion? If resulting array size is a goal, gif is much better(smaller) for signatures.
0
 
LVL 1

Author Comment

by:JoeBo747
ID: 40418916
Thanks to both of you for your contribution s,  I am glad you agree and I will award the points.   The page is being supplied via a third party and I have no control over this
 I also have to write the stream to the database in a format again dictated by a third party. I am very pleased by the outcome thank you both once again.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Suggested Solutions

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now