何もレンダリングせずに弦の高さを計算する方法はありますか?

jdmdevdotnet

JavaScript で文字列の高さを測定できるかどうかを調べようとしています。このコードは C# にありますが、Javascript でも取得できるかどうかを確認したいと思います。過去の SO を調べたところ、これが答えとして見つかりました (リンクはありません):

function get_tex_height(txt, font) {
    this.element = document.createElement('canvas');
    this.context = this.element.getContext('2d');
    this.context.font = font;
    return this.context.measureText(txt).height;
  }

何らかの理由で、これは機能しません。どうして?あなたは尋ねるかもしれません。何も思いつきません。私も知る由もありません。私はモバイル アプリの HTML を書き換えていますが、UIWebView私が持っているあらゆる種類のデバッグ方法はalert(somethinghere). JS が機能しない場合、コードの実行を継続しないだけで、どこで失敗したかわかりません。

そのため、フォント、フォント サイズ、幅の制約を渡して、この文字列がレンダリングされたときに正確な高さを取得できるかどうかを確認したいと思います。これが可能であるとしても、私が結論付け始めていることは不可能です。これには、C# メソッドを使用する必要があるかもしれません。

pid

レンダリングして測定するには、DOM にアタッチする必要があります。以下に示すように、ページに表示せずにそれを行うことができます。

function getTextHeight(text, font)
{
  var cvs, ctx, body, h;

  cvs = document.createElement('canvas');
  ctx = cvs.getContext('2d');
  cvs.style.display = "none";
  body = document.getElementsByTagName("BODY")[0];
  body.appendChild(cvs);

  ctx.font = font;
  h = ctx.measureText(text).height;
  body.removeChild(cvs);

  return h;
}

それがうまくいくかどうか教えてください。まだバグがあるかもしれません。明らかに、これは持っていない何もそれはDOMに直接挿入された場合は、テキストの高さと関係するが。取得する高さは、キャンバスにレンダリングされたテキストの高さです。DOM の高さについては、コンテナの幅に基づいてラッピングを考慮に入れた別の操作を行う必要があります...

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

すべてのセルの高さを再計算せずに、単一のUITableViewCellの高さを更新する方法はありますか?

分類Dev

小道具や状態を変更せずにコンポーネントも再レンダリングされる可能性はありますか

分類Dev

WebGLキャンバスをDOMに接続せずに、WebGLをオフスクリーンでレンダリングする方法はありますか?

分類Dev

転送またはダウンロードせずに画像の幅と高さを取得する方法はJavaにありますか?

分類Dev

以前の値も適用で計算されるdataframe.applyで以前の行の値を使用する方法はパンダにありますか?

分類Dev

Pythonで実行可能ファイルを使用せずにJSレンダリングページをスクレイプする方法はありますか?

分類Dev

setParams (react-navigation) を呼び出さずにナビゲーションバーを再レンダリングする方法はありますか?

分類Dev

Haddockに型クラスメソッドの引数ごとのドキュメントをレンダリングさせる方法はありますか?

分類Dev

角度1.5コンポーネントのさまざまなテンプレートを動的にレンダリングする方法はありますか

分類Dev

トレーニングは100%であり、動画から抽出した画像をディープラーニングモデルにフィードする方法にもかかわらず、検証の精度を向上させることはできません

分類Dev

レンダリングせずにシーンの子の行列を計算する

分類Dev

ReactのAPIからの応答の値をいくつかの所定の値にマップする方法はありますか?それは次に何がレンダリングされるかを決定しますか?

分類Dev

divのレンダリングされたHTMLをコピーする方法はありますか?

分類Dev

パンダ:過去数日間の変数のローリングサムを計算する方法はありますが、特定の時間のみですか?

分類Dev

divを右から左のHTMLにレンダリングする方法はありますか

分類Dev

1つのホットエンコーダーを使用せずにRNNをトレーニングできる方法はありますか?

分類Dev

SASで、ループからの値を保存せずにパーセンタイルを計算する方法はありますか?

分類Dev

ライブラリを使用せずにGoogleカレンダーAPIのPOSTリクエストを送信する方法はありますか?Java

分類Dev

PHPのページを更新せずにランダムな値を計算する必要があります

分類Dev

何も表示せずに(JavaFXので作成した)-.jarファイルを実行する方法(GUI、プログレスバーが...)はありますか?

分類Dev

Firebaseでダウンロードせずに子のリストが変更されたかどうかを確認する方法はありますか?

分類Dev

3つのコレクターを使用して文字列を結合せずにこれをリファクタリングする方法はありますか?

分類Dev

sizeToFit を使用せずに UILabel のサイズを正確に計算する方法はありますか?

分類Dev

再レンダリングする方法はありますか?

分類Dev

実際にウェブページをリロードせずに、hbspartial(nodejs、mogodb、express)をレンダリングしながら、PARTIALと一緒に送信されたデータを更新する方法はありますか?

分類Dev

特徴を計算する前にフィルタリングされたエッジを保存する方法はありますか

分類Dev

meteor Articlesコレクションの各記事をレンダリングするには何を追加する必要がありますか?

分類Dev

壊れたreactレンダリングがページ全体をクラッシュさせないようにする方法はありますか?

分類Dev

壊れたreactレンダリングがページ全体をクラッシュさせないようにする方法はありますか?

Related 関連記事

  1. 1

    すべてのセルの高さを再計算せずに、単一のUITableViewCellの高さを更新する方法はありますか?

  2. 2

    小道具や状態を変更せずにコンポーネントも再レンダリングされる可能性はありますか

  3. 3

    WebGLキャンバスをDOMに接続せずに、WebGLをオフスクリーンでレンダリングする方法はありますか?

  4. 4

    転送またはダウンロードせずに画像の幅と高さを取得する方法はJavaにありますか?

  5. 5

    以前の値も適用で計算されるdataframe.applyで以前の行の値を使用する方法はパンダにありますか?

  6. 6

    Pythonで実行可能ファイルを使用せずにJSレンダリングページをスクレイプする方法はありますか?

  7. 7

    setParams (react-navigation) を呼び出さずにナビゲーションバーを再レンダリングする方法はありますか?

  8. 8

    Haddockに型クラスメソッドの引数ごとのドキュメントをレンダリングさせる方法はありますか?

  9. 9

    角度1.5コンポーネントのさまざまなテンプレートを動的にレンダリングする方法はありますか

  10. 10

    トレーニングは100%であり、動画から抽出した画像をディープラーニングモデルにフィードする方法にもかかわらず、検証の精度を向上させることはできません

  11. 11

    レンダリングせずにシーンの子の行列を計算する

  12. 12

    ReactのAPIからの応答の値をいくつかの所定の値にマップする方法はありますか?それは次に何がレンダリングされるかを決定しますか?

  13. 13

    divのレンダリングされたHTMLをコピーする方法はありますか?

  14. 14

    パンダ:過去数日間の変数のローリングサムを計算する方法はありますが、特定の時間のみですか?

  15. 15

    divを右から左のHTMLにレンダリングする方法はありますか

  16. 16

    1つのホットエンコーダーを使用せずにRNNをトレーニングできる方法はありますか?

  17. 17

    SASで、ループからの値を保存せずにパーセンタイルを計算する方法はありますか?

  18. 18

    ライブラリを使用せずにGoogleカレンダーAPIのPOSTリクエストを送信する方法はありますか?Java

  19. 19

    PHPのページを更新せずにランダムな値を計算する必要があります

  20. 20

    何も表示せずに(JavaFXので作成した)-.jarファイルを実行する方法(GUI、プログレスバーが...)はありますか?

  21. 21

    Firebaseでダウンロードせずに子のリストが変更されたかどうかを確認する方法はありますか?

  22. 22

    3つのコレクターを使用して文字列を結合せずにこれをリファクタリングする方法はありますか?

  23. 23

    sizeToFit を使用せずに UILabel のサイズを正確に計算する方法はありますか?

  24. 24

    再レンダリングする方法はありますか?

  25. 25

    実際にウェブページをリロードせずに、hbspartial(nodejs、mogodb、express)をレンダリングしながら、PARTIALと一緒に送信されたデータを更新する方法はありますか?

  26. 26

    特徴を計算する前にフィルタリングされたエッジを保存する方法はありますか

  27. 27

    meteor Articlesコレクションの各記事をレンダリングするには何を追加する必要がありますか?

  28. 28

    壊れたreactレンダリングがページ全体をクラッシュさせないようにする方法はありますか?

  29. 29

    壊れたreactレンダリングがページ全体をクラッシュさせないようにする方法はありますか?

ホットタグ

アーカイブ