Fragile at best:
Qt Code:
  1. #include <QtGui>
  2. #include <QDebug>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6. QApplication app(argc, argv);
  7.  
  8. QFile in("tawny.png");
  9. if (in.open(QIODevice::ReadOnly)) {
  10. QByteArray ba = in.readAll();
  11. in.close();
  12.  
  13. QFile out("tawny_out.png");
  14. if (out.open(QIODevice::WriteOnly)) {
  15. QTextStream s(&out);
  16. s << ba;
  17. out.close();
  18. }
  19. }
  20.  
  21.  
  22. return app.exec();
  23. }
To copy to clipboard, switch view to plain text mode 
With this image in:
tawny.jpg
(I cannot upload the output file: the forum thinks it isn't valid)
It has produced a broken header in the output:
Qt Code:
  1. chrisw@newton /tmp/simple_example $ file *.png
  2. tawny_out.png: data
  3. tawny.png: PNG image data, 612 x 816, 8-bit/color RGB, non-interlaced
  4.  
  5. chrisw@newton /tmp/simple_example $ identify tawny*.png
  6. tawny.png PNG 612x816 612x816+0+0 8-bit DirectClass 750KBB 0.000u 0:00.010
  7. identify: improper image header `tawny_out.png' @ error/png.c/ReadPNGImage/2842.
To copy to clipboard, switch view to plain text mode 
The file is broken at the very first byte of the 8-byte header by UTF-8 encoding of that byte:
Qt Code:
  1. chrisw@newton /tmp/simple_example $ od -tx1 -tc -N 8 tawny.png
  2. 0000000 89 50 4e 47 0d 0a 1a 0a
  3. 211 P N G \r \n 032 \n
  4. 0000010
  5. chrisw@newton /tmp/simple_example $ od -tx1 -tc -N 8 tawny_out.png
  6. 0000000 c2 89 50 4e 47 0d 0a 1a
  7. 302 211 P N G \r \n 032
  8. 0000010
To copy to clipboard, switch view to plain text mode