ホームページ >ウェブフロントエンド >フロントエンドQ&A >ノード gm がエラーを報告した場合の対処方法
Node gm エラーの解決策: 1. "ImageMagick 6.x" をインストールします; 2. ImageMagick のインストール ディレクトリを環境ディレクトリのパスに追加し、コードを "require('gm').subClass({ imageMagick: true});" 以上です。
このチュートリアルの動作環境: linux5.9.8 システム、node-v16.18.0 バージョン、DELL G3 コンピューター
node GMエラーはどうすればいいですか?
nodejs gmに関するさまざまな問題解決策集 (中国語文字化け、描画不適合、��Ч����)
#1. 中国語の文字化け
graphicsmagick は中国語フォントの描画をサポートしていません (未定)現時点で最も直接的かつ効果的な方法は、ImageMagick を置き換えることです (両方の機能が正確です)同じです。心配する必要はありません) 最初に ImageMagick 6.x をインストールします (7.x の場合は、インストール中に「レガシー ユーティリティのインストール (変換など)」オプションをチェックしてください)次に、ImageMagick のインストール ディレクトリを環境ディレクトリ Path に追加します。 そして、コードに次の変更を加えます:
const gm = require('gm')//原代码 const gm = require('gm').subClass({imageMagick: true});//修改后的代码次に、
中国語フォントを設定しているかどうか、および エンコーディングが に切り替えられているかどうかを確認します。ユニコード。
中国語フォントの場合は、基本的にどの言語でもサポートされている Google の「Google Noto」を使用することをお勧めします。 例:const gm = require('gm').subClass({imageMagick: true}); var text = "你好!ImageMagick!"; var img = gm(800, 2000, "#ffffffff");//创建一个800x2000的图片 img.font("./Noto.ttf",36);//设置字体,字体大小 img.encoding('Unicode');//设置编码为Unicode img.drawText(0, 50, "'" + text + "'");//此处 "'" 不能删除,删除会导致出现问题2(坑爹) img.write("test.png", function (err) {if(err)console.error(err)});//写出图片
2. エラー メッセージが表示されます: エラー: コマンドが失敗しました: 変換: 不適合な描画プリミティブ定義
指定されたテキストtodrawText 左右に ' を追加するだけで解決できます (テキストを含む関数はこの方法で解決できます) 例:img.drawText(0, 50, text);//错误 img.drawText(0, 50, "'" + text + "'");//正确方法
3. エラー: エラー: コマンドが失敗しました: ��Ч�� ��
は通常、ImageMagick7.x および imageMagick: true の設定後に表示されます。 7.x を再インストールし、インストール中に [レガシー ユーティリティ (変換など) をインストールする] オプションをオンにします。 この gm を完了するのに 1 日かかりました....推奨される学習: 「node.js ビデオ チュートリアル 」
以上がノード gm がエラーを報告した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。