ImageMagick示例報異常的原因(2點)

2021-06-03 22:04:47 字數 781 閱讀 6277

前幾天要製作大量,領導推薦用imagemagick庫,但是測試magick++_demo時100%報異常,甚至懷疑過是lib檔案與dll檔案版本不一致。

使用呼叫命令列執行convert,可以生成,可是批量生成時效能太差了,無法使用。

image->blob->file=(file *) fopen_utf8(filename,type);

一下就醒過來,我用的是xp,老nt核心機器預設編碼是gbk碼而不是utf8編碼。試用用純英文路徑,果然沒有再報異常。

可是為什麼convert也沒有報錯,給它傳的同樣是gbk中文路徑?開啟convert的源**,果然有這麼一段:

utf8=ntargvtoutf8(argc,argv);

status=convertmain(argc,utf8);

所以在gbk中文路徑傳入imagemagick介面時,需要轉換為utf8編碼,否則會報異常。

然後繼續寫**,又出現異常。。。。。。

一步步跟進去,發現原因是我先安裝了二進位制版本,然後又使用測試版本的動態庫,結果除錯時動態庫找不到imagemagick的配置檔案。

報錯資訊類似於:

"unabletoopenconfigurefile `type.xml' @ warning/configure.c/getconfigureoptions/591"

解決方案有幾個,思路是相同的,把exe與dll檔案放在一處。

我的選擇是修改path,並設定magick_home,都指向我編譯出來的動態庫。

其它選擇,可以試下把動態庫都複製到原二進位制版本的對應目錄。

http請求報400錯誤的原因分析

http 400 錯誤 請求無效 bad request 在ajax請求後台資料時有時會報 http 400 錯誤 請求無效 bad request 出現這個請求無效報錯說明請求沒有進入到後台服務裡 原因 1 前端提交資料的欄位名稱或者是字段型別和後台的實體類不一致 或 前端提交的引數跟後台需要的引...

sql 報 無效的列索引 可能的原因

今天遇到了sql報無效的列索引錯誤,在網上找了找問題,基本都在說是sql拼寫錯誤,基本可以確定這個錯誤一般都是由低階失誤導致的,請注意檢查自己的sql拼寫 按照網上指出的問題去找,沒有和自己錯誤一樣的,最後在移除乙個注釋後正常了,我用的是idea,用ctrl 加的注釋 也就是sql前加 不知為何沒有...

空指標異常的原因分析

不懂為什麼會引發空指標異常 description author version 1.0 class base public void test 號test方法 public class subextends base public static void main string args 系統試圖...