[問題] 存進圖片檔是否要把值轉成char型態
檔案指標 ptr
有一個int a[32*32] 裡面存數字代表像素
可否直接
for(int i=0;i<32*32;i++)
fwrite(&a[i],sizeof(char),1,ptr);
如果寫sizeof(int)會失敗 寫char就可以
可是這樣會不會有型態轉換的問題?!
怕跑出來的圖是不對的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.152.134
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1422543671.A.75D.html
推
01/30 00:11, , 1F
01/30 00:11, 1F
推
01/30 00:19, , 2F
01/30 00:19, 2F
推
01/30 00:23, , 3F
01/30 00:23, 3F
→
01/30 00:32, , 4F
01/30 00:32, 4F
→
01/30 00:32, , 5F
01/30 00:32, 5F
→
01/30 00:33, , 6F
01/30 00:33, 6F
→
01/30 00:35, , 7F
01/30 00:35, 7F
→
01/30 00:36, , 8F
01/30 00:36, 8F
→
01/30 01:33, , 9F
01/30 01:33, 9F
推
01/30 05:05, , 10F
01/30 05:05, 10F
我是用WB開檔 我要輸出的圖是灰階圖 input只有灰階像素值
我試著輸出成BMP 圖檔 或是YUV圖檔
輸出都要寫成CHAR輸出圖片才跑得出來 但資料是int
感覺這樣型態應該不對 ?!
沒用過ferror...不過應該直接看圖片有沒有問題意思一樣?!
另外
for(int i=0;i<32*32;i++)
fwrite(&a[i],sizeof(char),1,ptr);
如果寫成以下這樣 圖片也出不來
fwrite(a,sizeof(char),32*32,ptr)
感覺應該這2個應該是一樣的?!只是一個是連續記憶體一個是不連續?!
不知道為何寫成下面那個就會有問題
http://www.codeshare.io/SQ6qM yuv檔案寫入
※ 編輯: unixxxx (140.115.152.134), 01/30/2015 13:44:15
→
01/30 17:33, , 11F
01/30 17:33, 11F
→
01/30 17:34, , 12F
01/30 17:34, 12F
→
01/30 17:35, , 13F
01/30 17:35, 13F
→
01/30 17:36, , 14F
01/30 17:36, 14F
→
01/30 17:38, , 15F
01/30 17:38, 15F
我把問題打錯了..已修正
※ 編輯: unixxxx (140.115.152.134), 01/30/2015 18:25:35
推
01/30 19:09, , 16F
01/30 19:09, 16F
→
01/30 19:13, , 17F
01/30 19:13, 17F
→
01/30 19:13, , 18F
01/30 19:13, 18F
我大概懂了 感謝!!
※ 編輯: unixxxx (114.43.71.64), 01/30/2015 21:34:22
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章