ホームページ >ウェブフロントエンド >フロントエンドQ&A >ノード gm がエラーを報告した場合の対処方法

ノード gm がエラーを報告した場合の対処方法

藏色散人
藏色散人オリジナル
2023-01-28 16:22:282477ブラウズ

Node gm エラーの解決策: 1. "ImageMagick 6.x" をインストールします; 2. ImageMagick のインストール ディレクトリを環境ディレクトリのパスに追加し、コードを "require('gm').subClass({ imageMagick: true});" 以上です。

ノード gm がエラーを報告した場合の対処方法

このチュートリアルの動作環境: linux5.9.8 システム、node-v16.18.0 バージョン、DELL G3 コンピューター

node GMエラーはどうすればいいですか?

nodejs gmに関するさまざまな問題解決策集 (中国語文字化け、描画不適合、��Ч����)

#1. 中国語の文字化け

graphicsmagick は中国語フォントの描画をサポートしていません (未定)

現時点で最も直接的かつ効果的な方法は、ImageMagick を置き換えることです (両方の機能が正確です)同じです。心配する必要はありません)

最初に ImageMagick 6.x

をインストールします (7.x の場合は、インストール中に「レガシー ユーティリティのインストール (変換など)」オプションをチェックしてください)

ノード gm がエラーを報告した場合の対処方法

次に、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。