問題タブ [imagettftext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
3602 参照

php - imagettftext() を使用するときにフォント ファイルでサポートされていない文字を処理するにはどうすればよいですか?

PHP GD ライブラリで作成した画像内で Verdana フォントを使用しています。

ほとんどの場合、imagettftext は文字列に対して非常にうまく機能します。
しかし、一部のユーザーは、名前に奇妙な文字/記号を使用しています。
そのため、名前を画像に印刷しようとすると。例えば:
ここに画像の説明を入力

このユーザーはɦɪɲɣƙƨєʌɾ 記号を使用しています。そのため、Verdana では印刷できません。

私はこれを使用しました:

出力は次のとおりです。
ここに画像の説明を入力

(現在のロケールは英語とドイツ語で異なります。したがって、現在のロケールではこれらの文字を処理できない可能性があります: ɦɪɲɣƙƨєʌɾ)

非常に大きなブロックを書かずに、に音訳ɦすることはできないようです。このように。hɲnstr_replace()

  • そこで、フォント(Verdana)がこれらの記号を表示できるかどうかを確認できるかどうか疑問に思っています。いずれかの文字を文字列内に表示できない場合は、空の文字列をimagettftextメソッドに渡すことができます。font 内のサポートされている文字を確認できますか? または、Verdana でサポートされている記号を含む文字マップを作成し、文字列にサポートされていない記号が含まれていないかどうかを確認しますか? (この質問
    のせいで無理だと思います)

  • または、別の解決策として、で複数のフォントを使用することは可能imagettftext()ですか?
    たとえば、最初に Verdana を試してください。Verdana がシンボルをカバーしていない場合は、Arial sans serif などを使用します。

  • または他の解決策はありますか?

編集:
Verdana は私のテキストでこれらの Unicode 文字をサポートしていないようです。
Verdana 対応文字: http://www.fileformat.info/info/unicode/font/verdana/grid.htm
Verdana 非対応文字: http://www.fileformat.info/info/unicode/font/verdana/missing.htm

0 投票する
4 に答える
1878 参照

php - imagettftext() 関数でテキスト文字列を右から左に読み取るようにする

imagettftext(); で左から右ではなく、右から左に文字列を書きたい。関数

角度変数がこれを制御することをマニュアルで読みました.0角度は左から右を意味すると書かれているので、180、360を試しましたが、何も起こりません

右から左に書くには、どの角度に置く必要がありますか

ヘブライ文字をサポートする font.ttf でヘブライ語のテキスト文字列を書いています

この関数 strrev() も使用しました。

テキストが画像上で台無しになりました 一部の文字は白いボックスです

次に、この関数を使用しました:

それは私を大いに助けましたが、今では整数も逆になりました

整数ではなくヘブライ文字のみが反転する、より良い解決策を教えてください。

0 投票する
1 に答える
612 参照

php - php gd - マルチカラー imagettftext

imagettftext でマルチカラー テキストを表示しようとしています。
文字ごとに描いてみましたが、間隔がひどいです。
これが私のコードです:

出力: 出力
テキストが動的であることに注意してください。
imagettftext を使用して、恐ろしい間隔を空けずに多色テキストを実現することは可能ですか?

よろしく、マリオエルマンド。

0 投票する
2 に答える
2265 参照

php - imagettftext 関数から変換されたテキストに中央、左、右、文字を揃える

関数を使用してテキストから画像を変換imagettftext()しました。変換された画像テキストを中央、左、右に揃えようとしていますが、整理する方法がありません。 PHPでテキスト画像を変換するために使用しているコードです。

デモリンク:-ここをクリック

0 投票する
1 に答える
2298 参照

php - php imagettftext と特定の絵文字

「その他の記号と絵文字」ユニコード ブロックの下にある絵文字を描画する際に問題が発生しました。

コード例を次に示します。

出力は次のとおりです。

サイクロンとスノーマン

これは次のようになります。

サイクロンと雪だるま 後編

ご覧のとおり、これらの絵文字は両方とも異なる Unicode ブロックの下にあります。サイクロンは「Miscellaneous Symbols And Pictographs」の下にあり、実際のキャラクターの代わりに HTML エンティティが描画されますが、雪だるまは「Miscellaneous Symbols」の下にあり、正しく描画されます。使用しているフォントに両方の文字が含まれていることを再確認しました。

明確にするために、HTML エンティティではなく、実際の文字を描画したいと考えています。

UTF8 としてレンダリングされた同じ文字:

サイクロンと雪だるま、パート III

0 投票する
0 に答える
295 参照

javascript - imagettftext() 関数を使用して変換されたテキスト ボックス (画像ボックス) にボーダーを追加する方法

ここで、imagettftext() 関数を使用してユーザー入力テキストから画像に変換された画像に境界線を追加しようとしています。

デモリンク:-ここをクリック

以下のスナップショットのような期待される出力を探しています

期待される出力

以下は、テキストを画像に変換するために使用しているサンプルphpコードです。

0 投票する
2 に答える
1203 参照

php - 3 つの画像をマージし、PHP でテキストを追加する

このコードを使用して、PHP で 3 つの画像をマージすることができました。

テキストを追加したいので、最終的なコードは次のとおりです。

しかし、画像が表示されません

0 投票する
1 に答える
612 参照

php - PHP imagettftext が返す境界ボックスがレンダリングされた境界ボックスと異なる

imagettftext を使用して PNG ファイルをレンダリングしています。imagettftext() を呼び出すと、テキストがレンダリングされた境界ボックスが返されますが、詳しく調べると、テキストは独自の境界ボックスのわずかに外側にレンダリングされています! 境界ボックスは正しい (画像のピクセル座標を調べた) が、テキストの位置が正しくないため、これを出力します。ボックスは、テキストをレンダリングした後に返された境界ボックスです。

ここに画像の説明を入力

私のコードは次のとおりです。

0 投票する
1 に答える
745 参照

php - PHP 画像ttftext 中央のテキスト

PHPでimagepngとimagettftext関数を使用して、画像のテキストを中央に配置する必要があります。

これが私のコードです:

テキストは URL パラメータ「名前」にあります。このテキストを画像の中央に配置する必要があります。

0 投票する
1 に答える
1217 参照

php - PHP GD2 : HTML でレンダリングされたのと同じ位置にある imagettftext

質問を理解しやすくするために、この非常に単純なスクリプトを作成しました。

それは何をしなければなりませんか?

ユーザーは、テキストを画像のどこに配置するかを選択します。次に、画像が生成されます。

問題 :

テキストが正しい Y 軸位置に配置されていません。フォントファミリー/サイズによって異なります。font-family は変更できます。したがって、位置を「ハードコード」することはできません。

問題があると思う場所:

imagettftext() doc によると: 引数 Y はフォントのベースラインの位置であり、文字の一番下ではありません

したがって、HTML/CSS でレンダリングされるのとまったく同じ位置を取得するには、ベースラインとフォントの上部の間の高さを Y 位置に追加する必要があると思います。これが、imagettfbbox() の値 7 を使用する理由です。

しかし、うまくいきません。Y 位置は、良い場合もあれば悪い場合もあります。理由がわかりません。

アイデアがあれば... ありがとうございます!

結果の例:

ここに画像の説明を入力