※ImageMagickの最新版6.4.8-4で出るエラーを修正したもの
久しぶりに、ImageMagickの最新版6.4.8-4をダウンロードしてインストールしてみました。
すると、自分が作ったImageMagickを使ったVBSを実行すると、[Microsoft VisualC++ Runtime Library] Runtime Error! R6034というエラーが出て、使えなくなってしまいました。
ImageMagickをアップデート前のバージョンを6.4.2-1に戻すと、また実行できるのですが...最新版に出来ないままだと気持ち悪い!
「R6034」で検索すると、MSDNのページの説明「アプリケーションがマニフェストを使用しないでCランタイムライブラリを読み込もうとしました」...意味分からん!
しばらくうなって、VC++のランタイムエラーならと、「VC++ランタイム」で検索をすると「Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)」(SP1)というのがでてきました。これをダウンロードしてインストールしてみると...上のエラーは出なくなりました。ホッ。ImageMagickのページのどこかに説明があったのかな?
ところが、さらに迷ったことに、使えるコードと使えないコードが出てきました。具体的には、2008/8/31と2008/11/04のコードが、ファイルをドラッグアンドドロップしても何も起こりません。エラーメッセージが発生しないので、処理が進んだかのように動作しますが、実際には結果のファイルが出力されません。その前のソースは使えました。
いろいろとコードを書き換えながら試していると、どうやら画像のあるフォルダ又は画像ファイル名に日本語が含まれている場合にうまくいかないらしいと判明しました。バージョン6.4.2だと大丈夫だったのに、なぜ?
とは思いつつ、出力ファイル名に日本語が入っていると文字化けしていたので、入力ファイル名もエスケープを使って工夫して、また同じような使い勝手で使えるようにしたのが、下のコードです。
タグ:ImageMagick



