[Sloved] Convert image back from base64 encoding

Post your Gambas programming questions here.
AndyGable
Posts: 359
Joined: Wednesday 2nd December 2020 12:11am
Location: Northampton, England
Contact:

[Sloved] Convert image back from base64 encoding

Post by AndyGable »

Hi all,

Just wondered if this is possible I have some images that are stored in the database as a base64 encoding (so string) but this was encoded by a vb.net application

Do I have to convert the image back into a file before loading it to the picture box or can I load the image to the picture box direct from a memory of the image?
Last edited by AndyGable on Tuesday 29th November 2022 1:23pm, edited 1 time in total.
vuott
Posts: 262
Joined: Wednesday 5th April 2017 6:07pm
Location: European Union

Re: Convert image back from base64 encoding

Post by vuott »

...try this command line: :|
Public Sub Form_Open()

  PictureBox1.Image.FromString(FromBase64("Base64_string"))

End
Europaeus sum !

Amare memorentes atque deflentes ad mortem silenter labimur.
AndyGable
Posts: 359
Joined: Wednesday 2nd December 2020 12:11am
Location: Northampton, England
Contact:

Re: Convert image back from bade64 encoding

Post by AndyGable »

I tried

FrmPLUList.picturebox1.image.fromstring(frombase64(PLUDataResult!button_image))

Im getting a error message on the line saying Null object in PLUFunctions

I can list the base64 code if you want
vuott
Posts: 262
Joined: Wednesday 5th April 2017 6:07pm
Location: European Union

Re: Convert image back from bade64 encoding

Post by vuott »

Yes, attach the base64 string file or paste this string, for testing.
Europaeus sum !

Amare memorentes atque deflentes ad mortem silenter labimur.
AndyGable
Posts: 359
Joined: Wednesday 2nd December 2020 12:11am
Location: Northampton, England
Contact:

Re: Convert image back from bade64 encoding

Post by AndyGable »

Code: Select all

0x2f396a2f34414151536b5a4a5267414241514541594142674141442f34514261525868705a674141545530414b6741414141674142514d4241415541414141424141414153674d44414145414141414241414141414645514141454141414142415141414146455241415141414141424141414f7731455341415141414141424141414f777741414141414141596167414143786a2f2f6241454d4143415947427759464341634842776b4a43416f4d4641304d4377734d47524954447851644768386548526f634843416b4c6963674969776a4842776f4e796b734d4445304e4451664a7a6b394f4449384c6a4d304d762f6241454d4243516b4a4441734d4741304e47444968484345794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d762f41414245494149494174414d4249674143455145444551482f7841416641414142425145424151454241514141414141414141414141514944424155474277674a4367762f784143314541414341514d444167514442515545424141414158304241674d4142424546456945785151595455574548496e45554d6f47526f51676a5172484246564c523843517a596e4b4343516f574678675a4769556d4a7967704b6a51314e6a63344f547044524556475230684a536c4e5556565a5857466c615932526c5a6d646f6157707a6448563264336835656f4f456859614869496d4b6b704f556c5a61586d4a6d616f714f6b7061616e714b6d7173724f3074626133754c6d367773504578636248794d6e4b3074505531646258324e6e6134654c6a354f586d352b6a7036764879382f5431397666342b66722f7841416641514144415145424151454241514542414141414141414141514944424155474277674a4367762f78414331455141434151494542414d454277554542414142416e6341415149444551514649544547456b4652423246784579497967516755517047687363454a497a4e53384256696374454b46695130345358784678675a4769596e4b436b714e5459334f446b3651305246526b644953557054564656575631685a576d4e6b5a575a6e61476c7163335231646e64346558714367345346686f6549695971536b3553566c7065596d5a71696f36536c7071656f71617179733753317472653475627243773854467873664979637253303954563174665932647269342b546c3575666f36657279382f5431397666342b66722f3267414d41774541416845444551412f415066366a6e6d6a74344a4a70574352787158646a3041417954556c6331385162794f772b482b753345736f6955576272754f655377326763657563666a5142346a34672b4c2b74367a71326e57725444534e4a754a5638354956506d62436634354f76706e626a7233723254776c635232516254734246553551453838386a50313572354a764c673352696c597351724d636a6b484a48507365422b56652b65462f45393439707056336543314555696b41774d54776841364876307a6a6a6e4665526a716b71556f565630505370306c4b4d6f48744e464d696b5756466447444b7779434b6658724a707136504e436969696d415555555541464646464142525252514155555555414646464641425252525141555555554146464646414256612f73626255374365787659556d74726844484c47347947553952566d69674435672b4a6e675136566279584f6b784d626543515253774b4f774f4563666e672f676657707232647445304c77356137475736565a4157513442487935342b763841577656395a6b6a6e46773339386b2f72586c666a7262743075556638733166482f66517234326e6a58694b6b614574556e4c5879733748525754703032302b78376a34447558752f4374764c4a3934737749394b365775442b47562b73326a7a5775526c4745696a50596a6e2b512f4f75387236584c704b57476a62707039787a33767146464646646f42525252514155555555414646464641425252525141555555554146464646414252525251415555555541465a2b7133506b576a49702f65534461754f6f395456396a675a5046637a4e63473675476d503353634b505156354763343736745135592f464c5266717a6644302b655633736a6e722b776b4d4c41453549774b383138576162646e546f6d6b6a594c4649567a32773250384b3967756d42556973693673494e52735a3757635a53525370506365682f413138566871376f56566256486f314d50477247374f50384168316533466b306373545a6b682b526c50526c4e653232462f46667743534d34492b3870367161384c30645a6447314b53435869614a747234364e372f5131365070313459696c7a627477527950583272324b576154776549313170792f71364d70594731505463376d6971316e6552336351644f7663656c57612b7870314956594b6348644d38317078646d4646464657494b4b4b4b414369696967416f6f6f6f414b4b4b4b414369696d504971444c454165704e4a744a585944364b356678543438306a776a615158562f7743644a444a4f73544e436d3779776572483248586a6d7476533956736461734972375462754b36745a526c4a596d79442f39663271595649564665447568744e626c326969697245564e536b4d656e334444727349483438567a515079416567726f395655747074774232545035484e633070347858786e456a66316d43366376366e6f344e4c6b6671517a7456654673535939616e6e716c6e612b6653766d704e71647a31494b3862474a34777352473976716b53344b2f75707364782f4366356a385253364e714a6a2b556e4b4e2b6c6446645730642f597957386f7a484b75445842514c4c5958636c6e50784a453244376a7366787230644b744f3359316f326c486c5a36506158547775737354593966513130396c7145563075507576335531353170756f5941566a785733484e305a472b6842357254415a6e57774d72627836722f4934635468464937624e4c5850326d7353494173337a723639785776446651546a354847665138477673734a6d6d47784b3932566e326535354e53684f47364c4e4649445335723054454b4b4b54496f4157696b7a78554574354443506e635a394279616970556854584e4e3251306d39455435714b61346968584d6a41653363316d5847724f334549326a315057737835586b596c6d4a4a366b6d76447865653034653751584d2b2f542f676e56547773706179304e4f34316a71496c78376e725754635854795a65567a676570717450644a426e63636e307249757279533462424f46394b2b5778654f72346c32715376356444307147455331534b4869574b4858744c6e302b59455179447176554873523731652b444f68332f6833544e55734c71344d6c71626e666172324359475778324a505566374e56696d635972766644467435476e6559657368342b677230736872566c58564744393356762b76754978394b6d6f632f5859334b4b4b4b2b3250464754494a49586a50526c4b6e386134386778735662677163477579505375613171333869374d672b354c7a2f774c76587a58456d4763715561386673757a39482f414d48387a74775537536358314d7963353656526b47474e57327146317a5878557058647a324b656736316b2f684a72503852364b313943743761726d36684851645a463950714f3157564a527130726558654f5078726f6f565846324364345335346e6e396c6542674d4774367a7632546a5046503133777930386a58326d41435938797739412f7550662b64633962585a44474f5146585867715267673131564b5561697645366f546a566a64486351586b6376422b552b74584559675a7a78374775526875656d4457684465756e527a394b3550656959564d50663454703472796550685a572b6d61744c716b34484c412f55567a6b6570482b4a5161734c66786e717048307273705a68577071305a7466656363384a336962333972546569666c5457314f636a71423942574d4c324c2f616f4e394542774361336562563376555a6e39565838706f795855736f2b65526a375a714c3643714231456677702b6456354c3656786a64676567726b7159745364336473316868356472476c4a5048454d73777a364373793431426d4745776f397171504a366d7172535a4e6338716b702b534f756e68347831593533796554544d35714d76543478765941416b6b344141366d68524f6a52497536665a7665336b554b446c6a2b51376d765349596c6868534a426855474257526f476b47776738325a6358456735483977656e31396132362b3379544c336871547156463730767758592b647832495657646f37494b4b4b4b39773451717071466f4c79316150675031516e73617430566e5670527177644f61756d4f4d6e4633527755675a484b7343724b63454874544d69756831335469366d3769584c4b5033674863657463307877612f4d3877774e54423133546c74306664487634657171734c6f63795a7045646f6d79446a464b7241696c494272687530622b544c3845367944673839785658564e43733957587a485879726744695a4238333050714b72674d68794d6972734e3967425a422b4972736f34684c53526a4b456f766d67636464365071656c4d576b6a4d3041365378636a38523146527758366e6a4e6568787a4b7779707a5653363058544c386c7037564e352f6a5435472f4d5632326a555263635931704e484c5233536e76566c6268665772372b443763484d46334f6e7334446634553065464a67634c664b5237782f2f587247574662324e76725646395372396f4148576e6565505772716546332f41493777663842542f7743765671507739614a393935704437746766705566564a45764530656a755a486d6a31705644794843497a4832476136474c54725745355342426a31476635314f7a4a474f5371696e39557372746d5478612b796a6e50374d764a657365776637624155372b784a53506d6e52665861704e6173326f5738663865397651566d58476f797a634435563942575575574f6b6452786e576e354935356e6b2f34534f50526b6a4c3345702f6476754156683148552f68786d76523944384e7861616f6d6e4b7a58583937487970395038613468394c68314b654e3233783345545a686e6a78766a623147515258714e7572706278724b356b6b565147636a473434354e6655354654773165382b58333432395056486e343670566a376a656a4a5252525258314a35595555555541464646464143455a466372726d6b47335a727133544d4a3564522f42372f542b566458534e6a427a58466a38425378744c6b6e76306659326f5670555a6330547a674848537056664e6257722b48324261347346794f7251662f452f34567a666d594f4f684855456369767a3347356657776b2b536f76523947652f53717772787645746b67303072554379314b73675065754678614e4c4e44777a716371784830717a4866544c7751472b7456647770636a7656526e4b4877736955564c6447694e525544356f7a2b427077314f502b34395a755236305a48725736786c56497a644342706e556b374931527471546337554834315133436d7339533856576c314255496469784a66544d5076342b6c55336b5a7a387a452f553031337146704b6a33706174334e6f775332484d525554483573564738774865744c51744b6b315735387877567455507a50362b777270772b4771567071464e5862484f63595263355051325044576c6d5268647972694e543867503841456638414156317452524b6b55617878714652526741646855674f612f517376774d4d4852564f4f2f563932664f56367a7254356d4c525252586359685252525141555555554146526e3171516a4e4d495070514245373446596572616661337838787759352f2b65716466784865747152474934552f6c5766635773726445632f6761797130616461484a5556305643636f506d69374d347535746269305968384f765a3036666a36564373766f6133723353373251485a424c30374961356937304c5834324c5731724f6659776b69766d385877326e3732486c386e2f6d6572537a507056587a5264576248656e6961735551654a6f2b4a6442753339346f322f6b522f576e71327235772b683671763841323579482b514e654a567962463039345035612f6b64304d54516e744a666b62486e65394c357739617a30683152782f794374514831744a422f4e616b4e7271662f514c762f38417747662f4141726c6542724c37442b343135716638792b38746d636574525063416436707951366b6f79644b31492f537a6c50386c716e4964587a694c772f72442b2f324e31483667567254797a4554656b4839784c725559377958336d67317a373158653578337167624c78544f635236446452413935596d503641442b64587248773772336d4235375734422f36354566307231734e7739586d37314c5258337334363259306f3651314e4454644d61376c5753374a6a6836374239357638425863326b6b6355537851717152714d4b716a67567a396a704e39474276676d48315131755731704d6f47593348315531395067384252776b6255317233366e6b3138524f733779324e4f4e39777159476f496f334856542b565467483072734d52344f525330555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641482f2f5a
That is the base64 code

AS the images are loading on the VB.net version This is the code I am using

    Public Sub StringDataToImage(ByVal StrData As String, ByVal ImageFile As PictureBox)
        Dim bytes() As Byte = Convert.FromBase64String(StrData)
        Dim MS As New System.IO.MemoryStream(bytes)
        Dim bmp As Image = Image.FromStream(MS)
        ImageFile.Image = bmp
    End Sub
vuott
Posts: 262
Joined: Wednesday 5th April 2017 6:07pm
Location: European Union

Re: Convert image back from bade64 encoding

Post by vuott »

Well, we have 2 problems.

1) About the "Null object" error it is caused by the command line, which :? I suggested you.
It should be changed as follows:
PictureBox1.Image = Image.FromString(FromBase64("Base64_string"))

2) The string of values, you pasted here, is represented by single ASCII numeric characters. Each pair of these individual numeric characters "graphically " represents a numeric value in hexadecimal format.
We must, therefore, convert any pair of ASCII numeric characters into its corresponding actual numeric value and then into the corresponding string value.

Well, here a basic example using your provided data:
Public Sub Form_Open()

' Your attached data:
  Dim s As String = "0x2f396a2f34414151536b5a4a5267414241514541594142674141442f34514261525868705a674141545530414b6741414141674142514d4241415541414141424141414153674d44414145414141414241414141414645514141454141414142415141414146455241415141414141424141414f7731455341415141414141424141414f777741414141414141596167414143786a2f2f6241454d4143415947427759464341634842776b4a43416f4d4641304d4377734d47524954447851644768386548526f634843416b4c6963674969776a4842776f4e796b734d4445304e4451664a7a6b394f4449384c6a4d304d762f6241454d4243516b4a4441734d4741304e47444968484345794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d762f41414245494149494174414d4249674143455145444551482f7841416641414142425145424151454241514141414141414141414141514944424155474277674a4367762f784143314541414341514d444167514442515545424141414158304241674d4142424546456945785151595455574548496e45554d6f47526f51676a5172484246564c523843517a596e4b4343516f574678675a4769556d4a7967704b6a51314e6a63344f547044524556475230684a536c4e5556565a5857466c615932526c5a6d646f6157707a6448563264336835656f4f456859614869496d4b6b704f556c5a61586d4a6d616f714f6b7061616e714b6d7173724f3074626133754c6d367773504578636248794d6e4b3074505531646258324e6e6134654c6a354f586d352b6a7036764879382f5431397666342b66722f7841416641514144415145424151454241514542414141414141414141514944424155474277674a4367762f78414331455141434151494542414d454277554542414142416e6341415149444551514649544547456b4652423246784579497967516755517047687363454a497a4e53384256696374454b46695130345358784678675a4769596e4b436b714e5459334f446b3651305246526b644953557054564656575631685a576d4e6b5a575a6e61476c7163335231646e64346558714367345346686f6549695971536b3553566c7065596d5a71696f36536c7071656f71617179733753317472653475627243773854467873664979637253303954563174665932647269342b546c3575666f36657279382f5431397666342b66722f3267414d41774541416845444551412f415066366a6e6d6a74344a4a70574352787158646a3041417954556c6331385162794f772b482b753345736f6955576272754f655377326763657563666a5142346a34672b4c2b74367a71326e57725444534e4a754a5638354956506d62436634354f76706e626a7233723254776c635232516254734246553551453838386a50313572354a764c673352696c597351724d636a6b484a48507365422b56652b65462f45393439707056336543314555696b41774d54776841364876307a6a6a6e4665526a716b71556f565630505370306c4b4d6f48744e464d696b5756466447444b7779434b6658724a707136504e436969696d415555555541464646464142525252514155555555414646464641425252525141555555554146464646414256612f73626255374365787659556d74726844484c47347947553952566d69674435672b4a6e675136566279584f6b784d626543515253774b4f774f4563666e672f676657707232647445304c77356137475736565a4157513442487935342b763841577656395a6b6a6e46773339386b2f72586c666a7262743075556638733166482f66517234326e6a58694b6b614574556e4c5879733748525754703032302b78376a34447558752f4374764c4a3934737749394b365775442b47562b73326a7a5775526c4745696a50596a6e2b512f4f75387236584c704b57476a62707039787a33767146464646646f42525252514155555555414646464641425252525141555555554146464646414252525251415555555541465a2b7133506b576a49702f65534461754f6f395456396a675a5046637a4e63473675476d503353634b505156354763343736745135592f464c5266717a6644302b655633736a6e722b776b4d4c41453549774b383138576162646e546f6d6b6a594c4649567a32773250384b3967756d42556973693673494e52735a3757635a53525370506365682f413138566871376f56566256486f314d50477247374f50384168316533466b306373545a6b682b526c50526c4e653232462f46667743534d34492b3870367161384c30645a6447314b53435869614a747234364e372f5131365070313459696c7a627477527950583272324b576154776549313170792f71364d70594731505463376d6971316e6552336351644f7663656c57612b7870314956594b6348644d38317078646d4646464657494b4b4b4b414369696967416f6f6f6f414b4b4b4b414369696d504971444c454165704e4a744a585944364b356678543438306a776a615158562f7743644a444a4f73544e436d3779776572483248586a6d7476533956736461734972375462754b36745a526c4a596d79442f39663271595649564665447568744e626c326969697245564e536b4d656e334444727349483438567a515079416567726f395655747074774232545035484e633070347858786e456a66316d43366376366e6f344e4c6b6671517a7456654673535939616e6e716c6e612b6653766d704e71647a31494b3862474a34777352473976716b53344b2f75707364782f4366356a385253364e714a6a2b556e4b4e2b6c6446645730642f597957386f7a484b75445842514c4c5958636c6e50784a453244376a7366787230644b744f3359316f326c486c5a36506158547775737354593966513130396c7145563075507576335531353170756f5941566a785733484e305a472b6842357254415a6e57774d72627836722f4934635468464937624e4c5850326d7353494173337a723639785776446651546a354847665138477673734a6d6d47784b3932566e326535354e53684f47364c4e4649445335723054454b4b4b54496f4157696b7a78554574354443506e635a394279616970556854584e4e3251306d39455435714b61346968584d6a41653363316d5847724f334549326a315057737835586b596c6d4a4a366b6d76447865653034653751584d2b2f542f676e56547773706179304e4f34316a71496c78376e725754635854795a65567a676570717450644a426e63636e307249757279533462424f46394b2b5778654f72346c32715376356444307147455331534b4869574b4858744c6e302b59455179447176554873523731652b444f68332f6833544e55734c71344d6c71626e666172324359475778324a505566374e56696d635972766644467435476e6559657368342b677230736872566c58564744393356762b76754978394b6d6f632f5859334b4b4b4b2b3250464754494a49586a50526c4b6e386134386778735662677163477579505375613171333869374d672b354c7a2f774c76587a58456d4763715561386673757a39482f414d48387a74775537536358314d7963353656526b47474e57327146317a5878557058647a324b656736316b2f684a72503852364b313943743761726d36684851645a463950714f3157564a527130726558654f5078726f6f565846324364345335346e6e396c6542674d4774367a7632546a5046503133777930386a58326d41435938797739412f7550662b64633962585a44474f5146585867715267673131564b5561697645366f546a566a64486351586b6376422b552b74584559675a7a78374775526875656d4457684465756e527a394b3550656959564d50663454703472796550685a572b6d61744c716b34484c412f55567a6b6570482b4a5161734c66786e717048307273705a68577071305a7466656363384a336962333972546569666c5457314f636a71423942574d4c324c2f616f4e394542774361336562563376555a6e39565838706f795855736f2b65526a375a714c3643714231456677702b6456354c3656786a64676567726b7159745364336473316868356472476c4a5048454d73777a364373793431426d4745776f397171504a366d7172535a4e6338716b702b534f756e68347831593533796554544d35714d76543478765941416b6b344141366d68524f6a52497536665a7665336b554b446c6a2b51376d765349596c6868534a426855474257526f476b47776738325a6358456735483977656e31396132362b3379544c336871547156463730767758592b647832495657646f37494b4b4b4b39773451717071466f4c79316150675031516e73617430566e5670527177644f61756d4f4d6e4633527755675a484b7343724b63454874544d69756831335469366d3769584c4b5033674863657463307877612f4d3877774e54423133546c74306664487634657171734c6f63795a7045646f6d79446a464b7241696c494272687530622b544c3845367944673839785658564e43733957587a485879726744695a4238333050714b72674d68794d6972734e3967425a422b4972736f34684c53526a4b456f766d67636464365071656c4d576b6a4d3041365378636a38523146527758366e6a4e6568787a4b7779707a5653363058544c386c7037564e352f6a5435472f4d5632326a555263635931704e484c5233536e76566c6268665772372b443763484d46334f6e7334446634553065464a67634c664b5237782f2f587247574662324e76725646395372396f4148576e6565505772716546332f41493777663842542f7743765671507739614a393935704437746766705566564a45764530656a755a486d6a31705644794843497a4832476136474c54725745355342426a31476635314f7a4a474f5371696e39557372746d5478612b796a6e50374d764a657365776637624155372b784a53506d6e52665861704e6173326f5738663865397651566d58476f797a634435563942575575574f6b6452786e576e354935356e6b2f34534f50526b6a4c3345702f6476754156683148552f68786d76523944384e7861616f6d6e4b7a58583937487970395038613468394c68314b654e3233783345545a686e6a78766a623147515258714e7572706278724b356b6b565147636a473434354e6655354654773165382b58333432395056486e343670566a376a656a4a5252525258314a35595555555541464646464143455a466372726d6b47335a727133544d4a3564522f42372f542b566458534e6a427a58466a38425378744c6b6e76306659326f5670555a6330547a674848537056664e6257722b48324261347346794f7251662f452f34567a666d594f4f684855456369767a3347356657776b2b536f76523947652f53717772787645746b67303072554379314b73675065754678614e4c4e44777a716371784830717a4866544c7751472b7456647770636a7656526e4b4877736955564c6447694e525544356f7a2b427077314f502b34395a755236305a48725736786c56497a644342706e556b374931527471546337554834315133436d7339533856576c314255496469784a66544d5076342b6c55336b5a7a387a452f553031337146704b6a33706174334e6f775332484d525554483573564738774865744c51744b6b315735387877567455507a50362b777270772b4771567071464e5862484f63595263355051325044576c6d5268647972694e543867503841456638414156317452524b6b55617878714652526741646855674f612f517376774d4d4852564f4f2f563932664f56367a7254356d4c525252586359685252525141555555554146526e3171516a4e4d495070514245373446596572616661337838787759352f2b65716466784865747152474934552f6c5766635773726445632f6761797130616461484a5556305643636f506d69374d347535746269305968384f765a3036666a36564373766f6133723353373251485a424c30374961356937304c5834324c5731724f6659776b69766d385877326e3732486c386e2f6d6572537a507056587a5264576248656e6961735551654a6f2b4a6442753339346f322f6b522f576e71327235772b683671763841323579482b514e654a567962463039345035612f6b64304d54516e744a666b62486e65394c357739617a30683152782f794374514831744a422f4e616b4e7271662f514c762f38417747662f4141726c6542724c37442b343135716638792b38746d636574525063416436707951366b6f79644b31492f537a6c50386c716e4964587a694c772f72442b2f324e31483667567254797a4554656b4839784c725559377958336d67317a373158653578337167624c78544f635236446452413935596d503641442b64587248773772336d4235375734422f36354566307231734e7739586d37314c5258337334363259306f3651314e4454644d61376c5753374a6a6836374239357638425863326b6b6355537851717152714d4b716a67567a396a704e39474276676d48315131755731704d6f47593348315531395067384252776b6255317233366e6b3138524f733779324e4f4e39777159476f496f334856542b565467483072734d52344f525330555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641482f2f5a"
  
  Dim t As String

' It starts from the 3rd numeric character, skipping the first two characters that are there to indicate that they are hexadecimal numbers (each pair of numeric characters represents an actual numeric value in hexadecimal format).
' It reads 2 numeric characters at a time, and therefore jumps by two numeric characters each time, to avoid reading a character at each cycle.
  For c As Short = 2 To (s.Len - 1) Step 2
' Converts the two numeric characters to the corresponding actual numeric value and then converts it to the corresponding ASCII string value. It assigns this string value to a string type variable, adding it to the other values already assigned:
    t &= Chr(Val("&" & s[c, 2]))
  Next

' It converts from the base64 string type and generates an Image type which is assigned to the "PictureBox":
  PictureBox1.Image = Image.FromString(FromBase64(t))

End

Well, with this my code I can see in "PictureBox" a little image with two bananas. :)
Europaeus sum !

Amare memorentes atque deflentes ad mortem silenter labimur.
AndyGable
Posts: 359
Joined: Wednesday 2nd December 2020 12:11am
Location: Northampton, England
Contact:

Re: Convert image back from bade64 encoding

Post by AndyGable »

I think I have a issue with the recall of the String fromt he database


When I recall the string I get

Code: Select all

"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"
it is not the same as what I have in the database

Code: Select all

0x2f396a2f34414151536b5a4a5267414241514541594142674141442f34514261525868705a674141545530414b6741414141674142514d4241415541414141424141414153674d44414145414141414241414141414645514141454141414142415141414146455241415141414141424141414f7731455341415141414141424141414f777741414141414141596167414143786a2f2f6241454d4143415947427759464341634842776b4a43416f4d4641304d4377734d47524954447851644768386548526f634843416b4c6963674969776a4842776f4e796b734d4445304e4451664a7a6b394f4449384c6a4d304d762f6241454d4243516b4a4441734d4741304e47444968484345794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d6a49794d762f41414245494149494174414d4249674143455145444551482f7841416641414142425145424151454241514141414141414141414141514944424155474277674a4367762f784143314541414341514d444167514442515545424141414158304241674d4142424546456945785151595455574548496e45554d6f47526f51676a5172484246564c523843517a596e4b4343516f574678675a4769556d4a7967704b6a51314e6a63344f547044524556475230684a536c4e5556565a5857466c615932526c5a6d646f6157707a6448563264336835656f4f456859614869496d4b6b704f556c5a61586d4a6d616f714f6b7061616e714b6d7173724f3074626133754c6d367773504578636248794d6e4b3074505531646258324e6e6134654c6a354f586d352b6a7036764879382f5431397666342b66722f7841416641514144415145424151454241514542414141414141414141514944424155474277674a4367762f78414331455141434151494542414d454277554542414142416e6341415149444551514649544547456b4652423246784579497967516755517047687363454a497a4e53384256696374454b46695130345358784678675a4769596e4b436b714e5459334f446b3651305246526b644953557054564656575631685a576d4e6b5a575a6e61476c7163335231646e64346558714367345346686f6549695971536b3553566c7065596d5a71696f36536c7071656f71617179733753317472653475627243773854467873664979637253303954563174665932647269342b546c3575666f36657279382f5431397666342b66722f3267414d41774541416845444551412f415066366a6e6d6a74344a4a70574352787158646a3041417954556c6331385162794f772b482b753345736f6955576272754f655377326763657563666a5142346a34672b4c2b74367a71326e57725444534e4a754a5638354956506d62436634354f76706e626a7233723254776c635232516254734246553551453838386a50313572354a764c673352696c597351724d636a6b484a48507365422b56652b65462f45393439707056336543314555696b41774d54776841364876307a6a6a6e4665526a716b71556f565630505370306c4b4d6f48744e464d696b5756466447444b7779434b6658724a707136504e436969696d415555555541464646464142525252514155555555414646464641425252525141555555554146464646414256612f73626255374365787659556d74726844484c47347947553952566d69674435672b4a6e675136566279584f6b784d626543515253774b4f774f4563666e672f676657707232647445304c77356137475736565a4157513442487935342b763841577656395a6b6a6e46773339386b2f72586c666a7262743075556638733166482f66517234326e6a58694b6b614574556e4c5879733748525754703032302b78376a34447558752f4374764c4a3934737749394b365775442b47562b73326a7a5775526c4745696a50596a6e2b512f4f75387236584c704b57476a62707039787a33767146464646646f42525252514155555555414646464641425252525141555555554146464646414252525251415555555541465a2b7133506b576a49702f65534461754f6f395456396a675a5046637a4e63473675476d503353634b505156354763343736745135592f464c5266717a6644302b655633736a6e722b776b4d4c41453549774b383138576162646e546f6d6b6a594c4649567a32773250384b3967756d42556973693673494e52735a3757635a53525370506365682f413138566871376f56566256486f314d50477247374f50384168316533466b306373545a6b682b526c50526c4e653232462f46667743534d34492b3870367161384c30645a6447314b53435869614a747234364e372f5131365070313459696c7a627477527950583272324b576154776549313170792f71364d70594731505463376d6971316e6552336351644f7663656c57612b7870314956594b6348644d38317078646d4646464657494b4b4b4b414369696967416f6f6f6f414b4b4b4b414369696d504971444c454165704e4a744a585944364b356678543438306a776a615158562f7743644a444a4f73544e436d3779776572483248586a6d7476533956736461734972375462754b36745a526c4a596d79442f39663271595649564665447568744e626c326969697245564e536b4d656e334444727349483438567a515079416567726f395655747074774232545035484e633070347858786e456a66316d43366376366e6f344e4c6b6671517a7456654673535939616e6e716c6e612b6653766d704e71647a31494b3862474a34777352473976716b53344b2f75707364782f4366356a385253364e714a6a2b556e4b4e2b6c6446645730642f597957386f7a484b75445842514c4c5958636c6e50784a453244376a7366787230644b744f3359316f326c486c5a36506158547775737354593966513130396c7145563075507576335531353170756f5941566a785733484e305a472b6842357254415a6e57774d72627836722f4934635468464937624e4c5850326d7353494173337a723639785776446651546a354847665138477673734a6d6d47784b3932566e326535354e53684f47364c4e4649445335723054454b4b4b54496f4157696b7a78554574354443506e635a394279616970556854584e4e3251306d39455435714b61346968584d6a41653363316d5847724f334549326a315057737835586b596c6d4a4a366b6d76447865653034653751584d2b2f542f676e56547773706179304e4f34316a71496c78376e725754635854795a65567a676570717450644a426e63636e307249757279533462424f46394b2b5778654f72346c32715376356444307147455331534b4869574b4858744c6e302b59455179447176554873523731652b444f68332f6833544e55734c71344d6c71626e666172324359475778324a505566374e56696d635972766644467435476e6559657368342b677230736872566c58564744393356762b76754978394b6d6f632f5859334b4b4b4b2b3250464754494a49586a50526c4b6e386134386778735662677163477579505375613171333869374d672b354c7a2f774c76587a58456d4763715561386673757a39482f414d48387a74775537536358314d7963353656526b47474e57327146317a5878557058647a324b656736316b2f684a72503852364b313943743761726d36684851645a463950714f3157564a527130726558654f5078726f6f565846324364345335346e6e396c6542674d4774367a7632546a5046503133777930386a58326d41435938797739412f7550662b64633962585a44474f5146585867715267673131564b5561697645366f546a566a64486351586b6376422b552b74584559675a7a78374775526875656d4457684465756e527a394b3550656959564d50663454703472796550685a572b6d61744c716b34484c412f55567a6b6570482b4a5161734c66786e717048307273705a68577071305a7466656363384a336962333972546569666c5457314f636a71423942574d4c324c2f616f4e394542774361336562563376555a6e39565838706f795855736f2b65526a375a714c3643714231456677702b6456354c3656786a64676567726b7159745364336473316868356472476c4a5048454d73777a364373793431426d4745776f397171504a366d7172535a4e6338716b702b534f756e68347831593533796554544d35714d76543478765941416b6b344141366d68524f6a52497536665a7665336b554b446c6a2b51376d765349596c6868534a426855474257526f476b47776738325a6358456735483977656e31396132362b3379544c336871547156463730767758592b647832495657646f37494b4b4b4b39773451717071466f4c79316150675031516e73617430566e5670527177644f61756d4f4d6e4633527755675a484b7343724b63454874544d69756831335469366d3769584c4b5033674863657463307877612f4d3877774e54423133546c74306664487634657171734c6f63795a7045646f6d79446a464b7241696c494272687530622b544c3845367944673839785658564e43733957587a485879726744695a4238333050714b72674d68794d6972734e3967425a422b4972736f34684c53526a4b456f766d67636464365071656c4d576b6a4d3041365378636a38523146527758366e6a4e6568787a4b7779707a5653363058544c386c7037564e352f6a5435472f4d5632326a555263635931704e484c5233536e76566c6268665772372b443763484d46334f6e7334446634553065464a67634c664b5237782f2f587247574662324e76725646395372396f4148576e6565505772716546332f41493777663842542f7743765671507739614a393935704437746766705566564a45764530656a755a486d6a31705644794843497a4832476136474c54725745355342426a31476635314f7a4a474f5371696e39557372746d5478612b796a6e50374d764a657365776637624155372b784a53506d6e52665861704e6173326f5738663865397651566d58476f797a634435563942575575574f6b6452786e576e354935356e6b2f34534f50526b6a4c3345702f6476754156683148552f68786d76523944384e7861616f6d6e4b7a58583937487970395038613468394c68314b654e3233783345545a686e6a78766a623147515258714e7572706278724b356b6b565147636a473434354e6655354654773165382b58333432395056486e343670566a376a656a4a5252525258314a35595555555541464646464143455a466372726d6b47335a727133544d4a3564522f42372f542b566458534e6a427a58466a38425378744c6b6e76306659326f5670555a6330547a674848537056664e6257722b48324261347346794f7251662f452f34567a666d594f4f684855456369767a3347356657776b2b536f76523947652f53717772787645746b67303072554379314b73675065754678614e4c4e44777a716371784830717a4866544c7751472b7456647770636a7656526e4b4877736955564c6447694e525544356f7a2b427077314f502b34395a755236305a48725736786c56497a644342706e556b374931527471546337554834315133436d7339533856576c314255496469784a66544d5076342b6c55336b5a7a387a452f553031337146704b6a33706174334e6f775332484d525554483573564738774865744c51744b6b315735387877567455507a50362b777270772b4771567071464e5862484f63595263355051325044576c6d5268647972694e543867503841456638414156317452524b6b55617878714652526741646855674f612f517376774d4d4852564f4f2f563932664f56367a7254356d4c525252586359685252525141555555554146526e3171516a4e4d495070514245373446596572616661337838787759352f2b65716466784865747152474934552f6c5766635773726445632f6761797130616461484a5556305643636f506d69374d347535746269305968384f765a3036666a36564373766f6133723353373251485a424c30374961356937304c5834324c5731724f6659776b69766d385877326e3732486c386e2f6d6572537a507056587a5264576248656e6961735551654a6f2b4a6442753339346f322f6b522f576e71327235772b683671763841323579482b514e654a567962463039345035612f6b64304d54516e744a666b62486e65394c357739617a30683152782f794374514831744a422f4e616b4e7271662f514c762f38417747662f4141726c6542724c37442b343135716638792b38746d636574525063416436707951366b6f79644b31492f537a6c50386c716e4964587a694c772f72442b2f324e31483667567254797a4554656b4839784c725559377958336d67317a373158653578337167624c78544f635236446452413935596d503641442b64587248773772336d4235375734422f36354566307231734e7739586d37314c5258337334363259306f3651314e4454644d61376c5753374a6a6836374239357638425863326b6b6355537851717152714d4b716a67567a396a704e39474276676d48315131755731704d6f47593348315531395067384252776b6255317233366e6b3138524f733779324e4f4e39777159476f496f334856542b565467483072734d52344f525330555541464646464142525252514155555555414646464641425252525141555555554146464646414252525251415555555541464646464142525252514155555555414646464641482f2f5a

This is what I am using to recall the image BLOB
    $Query &= "Select "
    $Query &= "plulistid, "
    $Query &= "Replace(Replace(description, ',,',','),'''','''') as description, "
    $Query &= "barcodenumber, "
    $Query &= "CAST(button_image AS CHAR) AS button_image, "    
    $Query &= "button_number "
    $Query &= "From plulist "
    $Query &= "Where plulistid='" & Format(Val(PLUIDNumber), "0000") & "' "
    $Query &= "order by button_number ASC;" 


ANd yes the image is a small pic of a some bananas

When I run your code onm the string i have I get the following error message "Missmatch: Wanted Integer, Got Null instead"

I did convert your code to a Function

Public Function ImageFromString(ImageString As String, ImageFile As PictureBox)
  Dim t As String
 
' It starts from the 3rd numeric character, skipping the first two characters that are there to indicate that they are hexadecimal numbers (each pair of numeric characters represents an actual numeric value in hexadecimal format).
' It reads 2 numeric characters at a time, and therefore jumps by two numeric characters each time, to avoid reading a character at each cycle.
  For c As Short = 2 To (ImageString.Len - 1) Step 2
' Converts the two numeric characters to the corresponding actual numeric value and then converts it to the corresponding ASCII string value. It assigns this string value to a string type variable, adding it to the other values already assigned:
    t &= Chr(Val("&" & ImageString[c, 2]))
  Next
 
' It converts from the base64 string type and generates an Image type which is assigned to the "PictureBox":
  ImageFile.Image = Image.FromString(FromBase64(t))  
    
End


did I convert your code wrong?
vuott
Posts: 262
Joined: Wednesday 5th April 2017 6:07pm
Location: European Union

Re: Convert image back from bade64 encoding

Post by vuott »

AndyGable wrote: Tuesday 29th November 2022 8:54am I think I have a issue with the recall of the String from the database

When I recall the string I get

Code: Select all

"/9j/4AAQSkZJRgABAQEAYABgAAD......etc...."
it is not the same as what I have in the database

Code: Select all

0x2f396a2f344......etc.....
Yet, the string, attached by you, that you receive from the database, consists of correct string values, each corresponding with a byte-value of the image.
Basically, by my conversion loop, present in my code above, I get those real string characters.
In fact, for example, by converting the first two numeric characters "2" and "f" using my loop, we obtain the ASCII string character "/".

So, if I use this character string:

Code: Select all

"/9j/4AAQSkZJRgABAQEAYABgAAD......etc...."
I don't need to run the conversion loop, present in my code above.
In short, I can write:
Public Sub Form_Open()

  Dim s As String = "/9j/4AAQSkZJRgABAQEAYABgAAD......etc....etc..."

  PictureBox1.Image = Image.FromString(FromBase64(s))

End

...and again I see those two bananas in the PictureBox.

AndyGable wrote: Tuesday 29th November 2022 8:54amThis is what I am using to recall the image BLOB
Sorry, I can't help you here, as I never use database, and therefore know :? nothing about them.

AndyGable wrote: Tuesday 29th November 2022 8:54am When I run your code onm the string i have I get the following error message "Missmatch: Wanted Integer, Got Null instead"
In which line of your function's code does the error message appear?
Last edited by vuott on Tuesday 29th November 2022 2:25pm, edited 1 time in total.
Europaeus sum !

Amare memorentes atque deflentes ad mortem silenter labimur.
AndyGable
Posts: 359
Joined: Wednesday 2nd December 2020 12:11am
Location: Northampton, England
Contact:

Re: Convert image back from bade64 encoding

Post by AndyGable »

vuott wrote: Tuesday 29th November 2022 11:53am
AndyGable wrote: Tuesday 29th November 2022 8:54am I think I have a issue with the recall of the String from the database

When I recall the string I get

Code: Select all

"/9j/4AAQSkZJRgABAQEAYABgAAD......etc...."
it is not the same as what I have in the database

Code: Select all

0x2f396a2f344......etc.....
Yet, the string, attached by you, that you receive from the database, consists of correct string values, each corresponding with a byte-value of the image.
Basically, by my conversion loop, present in my code above, I get those very string characters.
In fact, for example, by converting the first two numeric characters "2" and "f" using my loop, we obtain the ASCII string character "/".

So, if I use this character string:

Code: Select all

"/9j/4AAQSkZJRgABAQEAYABgAAD......etc...."
I don't need to run the conversion loop, present in my code above.
In short, I can write:
Public Sub Form_Open()

  Dim s As String = "/9j/4AAQSkZJRgABAQEAYABgAAD......etc....etc..."

  PictureBox1.Image = Image.FromString(FromBase64(s))

End

...and again I see those two bananas in the PictureBox.

AndyGable wrote: Tuesday 29th November 2022 8:54amThis is what I am using to recall the image BLOB
Sorry, I can't help you here, as I never use database, and therefore know :? nothing about them.

AndyGable wrote: Tuesday 29th November 2022 8:54am When I run your code onm the string i have I get the following error message "Missmatch: Wanted Integer, Got Null instead"
In which line of your function's code does the error message appear?

Thank-you Thank-you Thank-you updating the way the function loads the image worked perfectly I can see the images now
vuott
Posts: 262
Joined: Wednesday 5th April 2017 6:07pm
Location: European Union

Re: Convert image back from base64 encoding

Post by vuott »

AndyGable wrote: Tuesday 29th November 2022 1:23pm ... updating the way the function loads the image worked perfectly ....
Ehmmm... practically... what did you do?
Europaeus sum !

Amare memorentes atque deflentes ad mortem silenter labimur.
Post Reply