Results 1 to 7 of 7

Thread: Encode/decode base 64 images

  1. #1
    Join Date
    Oct 2009
    Posts
    38
    Thanks
    13
    Platforms
    Unix/X11 Windows

    Default Encode/decode base 64 images

    Hi there!

    I'd like to encode/decode base 64 images.

    I tried to use QByteArray::fromBase64(), but there is a problem : when run it on
    (in one line)

    Qt Code:
    1. R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAwAAAC8IyPqcvt3wCcDkiLc7C0qwyGHhS
    2. WpjQu5yqmCYsapyuvUUlvONmOZtfzgFzByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/De
    3. uNcP5yLWGsEbtLiOSpa/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJ
    4. lZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uisF81M1OIcR7lEeww
    5. cLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PHhhx4dbgYKAAA7
    To copy to clipboard, switch view to plain text mode 

    it returns :
    Qt Code:
    1. u«Z?f {úg¶¬{®"T?ÃB???
    To copy to clipboard, switch view to plain text mode 

    I compared with other tools that can convert base 64 images, and it is not correct.

    Any idea

  2. #2
    Join Date
    Aug 2008
    Location
    Ukraine, Krivoy Rog
    Posts
    1,963
    Thanked 370 Times in 336 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Encode/decode base 64 images

    try an example from this thread, probably it should help you.
    Qt Assistant -- rocks!
    please, use tags [CODE] & [/CODE].

  3. #3
    Join Date
    Oct 2009
    Posts
    38
    Thanks
    13
    Platforms
    Unix/X11 Windows

    Default Re: Encode/decode base 64 images

    thank you.
    I tried QImage::fromData(QByteArray("some base64 data"), "jpg"); but the image I get is corrupted according to paint.

  4. #4
    Join Date
    Aug 2008
    Location
    Ukraine, Krivoy Rog
    Posts
    1,963
    Thanked 370 Times in 336 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Encode/decode base 64 images

    where did you get this base64 data? maybe this data has some additional header?
    Qt Assistant -- rocks!
    please, use tags [CODE] & [/CODE].

  5. #5
    Join Date
    Oct 2009
    Posts
    38
    Thanks
    13
    Platforms
    Unix/X11 Windows

    Default Re: Encode/decode base 64 images

    I found the data here : http://davidbetz.net/Base64PngExample/Client/
    I just typed "a", then I removed
    Qt Code:
    1. data:image/png;base64,
    To copy to clipboard, switch view to plain text mode 

    ie I have this

    Qt Code:
    1. iVBORw0KGgoAAAANSUhEUgAAAlgAAABkCAYAAABaQU4jAAAAAX etc
    To copy to clipboard, switch view to plain text mode 

  6. #6
    Join Date
    Aug 2008
    Location
    Ukraine, Krivoy Rog
    Posts
    1,963
    Thanked 370 Times in 336 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Encode/decode base 64 images

    this code works fine
    Qt Code:
    1. ...
    2. QByteArray by = QByteArray::fromBase64("iVBORw0KGgoAAAANSUhEUgAAAlgAAABkCAYAAABaQU4jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAABblJREFUeF7t3M1RwkAYBmDuXjzqgXiyARuwAiugAzuwBwdwxps10ARd0EwiX2AxxKCEmRB+Hmcy4yTLZvMsh3c2HzsY+CNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQu8DtZ3GTfRRPXQ4k+r9/zx+r92g61+UY9E2AAAECBAgQOJrAcJq/ZdOi6DJkZZN8sTzmWwGr4dzRHtqNCBAgQIAAAQJdCghYXerqmwABAgQIELhKAQHrKqfdQxMgQIAAAQJdCtQDVtRKxevCfV4ZDsf5XWpbr7H673Vg02vDLp9T3wQIECBAgACBowmkgPUwKZ6Hk3xW1mOlI+qkdhTAl23j+nb7eVN7NVhHm043IkCAAAECBE5BYLOCtS46z6b5KEJS5fxWcXqMOQrWI1gtQ9ZXWsGq9hMrW1awTmF2jYEAAQIECBDoRWCfIFVdlUrtI1zVB5yN89d18JoJWL1Mp5sSIECAAAECpyDwV5F7WqmqBqx0blfN1fp14ELAOoXZNQYCBAgQIECgF4EDAtaq7ipeEzYf5fVqAFOD1cvUuikBAgQIECDQl0AHAasMXgJWXzPqvgQIECBAgEDvAgcFrGVBfJuBW8Fqo6UtAQIECBAgcPYCbQPWz1YO+ajp4aO/OKrXBKyz/5p4AAIECBAgQKCNQNuAFftlpRqsX9sx+BVhG3ptCRAgQIAAgUsVaBuwwqHc/2pV6L6I/8tVq7RJ6fJc/ReGVrAu9dvjuQgQIECAAIFGgXLvqlpRempYBqnd1142u7mvNildha3aJqPrQDar75sVn23aS8s0ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwrQLfmeUk6E23pFsAAAAASUVORK5CYII=");
    3. QImage image = QImage::fromData(by, "PNG");
    4. QLabel label;
    5. label.setPixmap(QPixmap::fromImage(image));
    6. label.show();
    7. ...
    To copy to clipboard, switch view to plain text mode 
    I've just inputted "hello" in that link then copied base64 data after "data:image/png;base64,".
    Qt Assistant -- rocks!
    please, use tags [CODE] & [/CODE].

  7. #7
    Join Date
    Aug 2008
    Location
    Ukraine, Krivoy Rog
    Posts
    1,963
    Thanked 370 Times in 336 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: Encode/decode base 64 images

    btw, if you enter just one character then you will not get an image on that site, you should enter more then one character, I don't know why.
    PS. when I entered "hello" I saw only "hell" in preview and I've got the same image in a label.
    Qt Assistant -- rocks!
    please, use tags [CODE] & [/CODE].

  8. The following user says thank you to spirit for this useful post:

    fitzy (28th October 2009)

Similar Threads

  1. Loading corrupt jpeg images with QImage
    By mikeee7 in forum Qt Programming
    Replies: 15
    Last Post: 3rd December 2010, 01:59
  2. Moving images and change their DIP
    By yazwas in forum Qt Programming
    Replies: 1
    Last Post: 26th October 2009, 17:46
  3. QScrollArea not displaying large number of images
    By lpkincaid in forum Qt Programming
    Replies: 1
    Last Post: 31st May 2009, 09:58
  4. import large number of images
    By sriluyarlagadda in forum Qt Programming
    Replies: 5
    Last Post: 15th May 2008, 10:26
  5. Connecting to a base class signal?
    By AaronMK in forum Qt Programming
    Replies: 4
    Last Post: 26th October 2007, 22:37

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.