[問題] 用fwrite寫.jpg檔
下載了Independent JPEG Group最近更新的 8a版,在io部份,多了
jpeg_mem_dest (j_compress_ptr cinfo,
unsigned char ** outbuffer, unsigned long * outsize)
這函式。
以前的jpeg_stdio_dest強迫資料必需要寫在硬碟(檔案)上,而這次可以讓資料
保存在memory中了。
現在問題來了,我要怎樣將 jpeg_mem_dest輸出的資料寫在檔案上呢?
我這樣去呼叫jpeg_mem_dest:
peg_compress_struct jcs;
unsigned char *dst = NULL;
unsigned long size = 0;
jpeg_mem_dest(&jcs, &dst, &size);
/*標準的ijg程式壓縮呼叫法*/
:
也就是jpg的資料是存在dst上面
然後我用fwrite來將這數據寫出來:
FILE *fp;
fp = fopen("temp.jpg","wb");
fwrite(imageout,sizeof(unsigned char),length,fp);
之後再去資料夾下面開temp.jpg這檔
發現在第4096點之後,色澤/圖紋都會錯亂。
查了一下好像fwrite用法不對。
那請問版上有沒大大用過fwrite來存jpg檔的經驗呢?
請問我那裡弄錯了? 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.158.204
推
04/20 16:24, , 1F
04/20 16:24, 1F
→
04/21 02:21, , 2F
04/21 02:21, 2F
→
04/21 02:22, , 3F
04/21 02:22, 3F
→
04/21 02:23, , 4F
04/21 02:23, 4F
→
04/21 02:24, , 5F
04/21 02:24, 5F
→
04/21 02:24, , 6F
04/21 02:24, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章