問題描述:
在獲取一張JPG圖片的信息數組后,
再將這些信息存入新建JPG文件,
卻發現新建圖片異常。
image.jpg為原圖
image1.jpg為新建圖片
原因:
在Windows環境下,
使用的文件寫入函數,
默認情況下會將‘\n’轉換為'\r''\n',
導致新建圖片數據里多了幾個'\r'字符,
所以顯示錯誤。
使用Notepad++的“Show All Characters”功能,
可以查看文件的所有字符。
從圖中可以看出,
右下角顯示兩張圖片的換行格式不同,
原圖(image.jpg)為Unix(LF),
新建圖片(image1.jpg)為Windwos(CR LF)。
第486行可以明顯看出,
新建圖片比原圖多了一個LF('\r')回車字符。
解決辦法:
在Windows環境下,
給圖片文件存入數據時,
使用二進制格式打開文件,
可以防止'\n'被轉換。