C/C++ 二進位制讀寫 png 檔案
阿新 • • 發佈:2018-12-23
突然想起來以前弄軟工的時候雖然那個網站只完成了登入註冊和文字顯示,但是想在資料庫中儲存圖片的時候瞭解到1存圖片地址,2存圖片二進位制資料。
沒錯就是二進位制。然後拿起C++的翻開找啊找,弄了個ifstream ios::binary的,成功資料正常。
時隔一天才又想起來r和rb好像是有區別的。沒錯,那些知識確實沒有記住。然後就把C的也改ok了
以下程式碼只有最簡單的讀寫。地址定位啥的,個別註釋中有。如果要改動png的格式甚麼的就要再瞭解一下png的資料結構
如果要十進位制的話就跟著註釋改一下
mm.png
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 | #include<iostream> #include<fstream> using namespacestd;typedefunsignedcharbyte;/* class PngMsg { private : unsigned char markMsg[8]; //十進位制,相當於16進位制89.50.4e.47.0d.0a.1a.0a; char widthloc; char heigtMsgloc; char BitDepthloc;//影象深度 char ColorTypeloc; char CompressionMethodloc;//壓縮方法(LZ77派生演算法) |