問題タブ [drawtext]

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 投票する
1 に答える
3708 参照

android - Androidキャンバスの滑らかで非常に遅いテキストアニメーション、SUBPIXEL_TEXT_FLAGが機能しない

「ピクセル間」を描画したくないため、Canvasでスムーズで非常に遅いテキストアニメーションを実現できません。Canvas.drawTextたとえば、Yオフセットが0、0.5、1、1.5のテキストを描画する4つの連続したフレームがある場合、キャンバスは実際にはそれぞれオフセット0、0、1、1でテキストを描画します。これにより、アニメーションは「」になります。ぎくしゃくした」。Paint.SUBPIXEL_TEXT_FLAG浮動小数点の精度を維持することになっているというフラグがあります。

Romain Guyがこのフラグは現在Androidではサポートされていないと言っている関連スレッドを見つけました:Androidのいくつかのペイント定数の意味

私の質問は:既存の回避策はありますか?

注:テキストを別のビットマップに一度描画してから、テキストを描画する代わりにフロートオフセットを使用してこのビットマップを描画しても機能しないようです。

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

c++ - QPainter::drawText、各文字の境界ボックスを取得

QPainter を使用して、QImage に複数行のテキストを描画しています。ただし、各キャラクターのバウンディング ボックスの周りに色付きの四角形を表示する必要もあります。

そのため、各キャラクターが描画されたときに持っていたバウンディング ボックスを知る必要があります。

たとえば、

改行、ワードラップ、タブなどを考慮して、10個の長方形を取得する必要があります.

たとえば、改行のため、2 番目の長方形はの右側ではなく'l'、最初の の長方形の下になります。'l''e'

この写真の赤い四角形の座標のようなもの (手作業で配置したので、実際には正しい位置ではありません):

ここに画像の説明を入力

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

android - アンドロイドで指定された長方形でテキストを描く方法は?

指定した長方形にテキストを描く方法はありますか?を使用してキャンバス(ImageView)に直接描画しています

しかし、これはテキスト全体を1行に描画しました。指定された(x、y)、(x1、y1)の制限でテキストを折り返したい。textviewsやその他のビューを使用したくありません。

画像の上にテキストを描きたいだけです。

これを行う方法はありますか?

前もって感謝します

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

java - テキストをビットマップにレンダリングして描画する方法

私はアンドロイドが初めてで、私のグループは現在、opengl es 2.0 を使用して GlSurfaceView を使用してグラフ作成アプリケーションを作成しています。

最近、プロットにグリッドと目盛りを表示し、数値スケールを実装し、x 軸と y 軸に「X」と「Y」のラベルを付けるタスクを割り当てられました。

ここに画像の説明を入力

多くの調査を行った後、文字列をビットマップにレンダリングすることでこれを達成することにしました。これを達成するために多くの問題に遭遇しました。基本的な考え方は理解できました。英数字 "0123456789" と "XY" と "-" (-x と -y スケール用) が必要になることはわかっています。私は多くの異なる例を見て、ここでJVitellaの例を広範囲にフォローしようとしまし

私は概念を理解し始めていますが、文字列に関する限り、13文字あることがわかっているので、ビットマップはどれくらいの大きさにする必要がありますか?

また、Jvitelas の例では、次のコードに唖然としました。

何が起こっているのか正確にはわかりません。これをコーディングすると、コンテキストで構文エラーが発生します。

私のアプリケーションでは、このように文字列をビットマップに保存する必要があることを理解しています。ビットマップを作成しますが、どのくらいの大きさにする必要がありますか? 次に、ビットマップからキャンバスを作成し、canvas.drawText をビットマップに作成します。

基本的に私は尋ねています:

  • 上記の次のビットマップを実現するにはどうすればよいですか?
  • ビット マップから 1 桁の数字を描画するにはどうすればよいですか?
  • 2 桁以上の数字を描くにはどうすればよいですか?
0 投票する
1 に答える
4080 参照

ios - iOS:LineWidth1pxでUIViewにテキストを描画します

UIViewにテキストを描画する必要があるシナリオがあります。私のコードは

このコードで私は達成することができます:

ここに画像の説明を入力してください

ただし、FontSize 500を使用しているため、テキストのlineWidthが大きくなります。lineWidthを1pxに減らしたいのですが。

これを達成する方法についてアドバイスしてください。

  • 従来とは別の方法はありますかdrawInRect
  • CoreTextは解決策を得るのに役立ちますか

ありがとう。

編集

グリフにUIBezierPathを使用して、キャラクターのパスを取得することができました。しかし、達成される道はキャラクターの境界を通ります。したがって、テキストは次のようになります。

ここに画像の説明を入力してください

これを1行にすることはできますか?

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

android - テキストの重なりにつながる Canvas.drawText

同じ位置に別のテキストを描画しようとしています.次のコードで書体とペイントオブジェクトを作成し、テキストを描画しています.ここまでは正常に動作します.指定した書体でテキストを描画します.しかし、テキストを描画すると別の時間は、同じ位置で以前のテキストと重なっています。

以前のテキストを削除して、新しいテキストを同じ位置に追加する方法。

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

ffmpeg - 4つのビデオを1つに多重化するffmpegとドローテキストの問題

1 つのビデオに多重化し、各象限の左上にテキストを配置したい 4 つのビデオがあります。vid1 が左上、vid2 が右上、vid3 が左下、vid4 が右下になるように、ビデオを正常に多重化できます。

ただし、drawtext コマンドを使用して単純なテキストを表示することさえできません。

各象限に元のビデオファイルの名前を入れたいと思います。

現時点で私のコマンドは次のとおりです。

drawtext コマンドを削除すると、同じ結果が得られます。4 アップ ビデオはきれいですが、テキストはありません。私の仮定は、他の象限については、入力ストリーム # を使用して別の drawtext コマンドを追加することです。

どんな助けでも大歓迎です!

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

python - 動画ファイルとテキストファイルの結合

現在の状況:顕微鏡で記録した動画と、時間と温度の 2 つの列を含む .txt ファイルがあります。このファイルはビデオと同期しています。ビデオを「編集」して、映画の再生に合わせて温度が更新されるテキスト ボックスを表示したいと思います。

当面の私のアプローチは、 を使用することffmpegです。なんとかテキストを描画できましたが、すべて意図したとおりに機能しているようです。

問題は、そのテキストを動的に更新する方法に関する参照が見つからないことです。Python を使用してファイルを読み取り、subprocessffmpegで起動しています。

どなたかこの問題の回避策をご存じの方がいらっしゃいましたらお聞きしたいです。他のアプローチかもしれません。

0 投票する
3 に答える
5099 参照

android - Nexus 7 上の Android 4.2: canvas.drawText() が正しく機能しない

Google Play で公開されているアプリケーションで重大な問題に直面しており、4.0 を除くすべてのバージョンの Android で問題なく動作しているようです。

これは、私の Android 4.0 HTC フォンのスクリーンショットです。

ここに画像の説明を入力

そして、これは私がNexus 7、Android 4.2.1で得たものです(エミュレーターでの同じ動作):

ここに画像の説明を入力

を使用して描画された各テキストで同じ動作が見られますcanvas.drawText()

テキストの描画に使用されるペイントは次のとおりです。

logCat (4.2.1 エミュレーター) では、多くのことがわかります

マニフェストでこれらの設定を使用します。

0 投票する
5 に答える
2029 参照

android - ビュー キャンバスにテキストを描画するときにテキストの色が暗すぎる

次のコードを使用して、ビュー キャンバスにテキストを描画しました。

質問:

テキストは白色 (0xFFFFFFFF) ではなく濃い灰色で表示されます。なんでそうなの?

問題を解決するために setShadowLayer() または paint.setAntiAlias(false) を使用しようとしましたが、残念ながら成功しませんでした。