Graphics.MeasureCharacterRanges メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Graphics.MeasureCharacterRanges メソッドの意味・解説 

Graphics.MeasureCharacterRanges メソッド

指定した文字列内の文字位置範囲それぞれ外接する Region オブジェクト配列取得します

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

Public Function MeasureCharacterRanges ( _
    text As String, _
    font As Font, _
    layoutRect As RectangleF, _
    stringFormat As StringFormat _
) As Region()
Dim instance As Graphics
Dim text As String
Dim font As Font
Dim layoutRect As RectangleF
Dim stringFormat As StringFormat
Dim returnValue As Region()

returnValue = instance.MeasureCharacterRanges(text, font, layoutRect, stringFormat)
public Region[] MeasureCharacterRanges (
    string text,
    Font font,
    RectangleF layoutRect,
    StringFormat stringFormat
)
public:
array<Region^>^ MeasureCharacterRanges (
    String^ text, 
    Font^ font, 
    RectangleF layoutRect, 
    StringFormat^ stringFormat
)
public Region[] MeasureCharacterRanges (
    String text, 
    Font font, 
    RectangleF layoutRect, 
    StringFormat stringFormat
)
public function MeasureCharacterRanges (
    text : String, 
    font : Font, 
    layoutRect : RectangleF, 
    stringFormat : StringFormat
) : Region[]

パラメータ

text

計測する文字列

font

文字列テキスト形式定義する Font

layoutRect

文字列レイアウト四角形指定する RectangleF 構造体

stringFormat

行間など、文字列書式情報を表す StringFormat。

戻り値
このメソッドは、指定した文字列内の文字位置範囲それぞれ外接する Region オブジェクト配列返します

解説解説
使用例使用例

次の例は、Windows フォームでの使用意図してデザインされており、Paint イベント ハンドラパラメータである PaintEventArgse が必要です。このコード次のアクション実行します

赤の四角形外接する最初範囲 ("First") と、青の四角形外接する 2 つ目の範囲 ("Second") が示され文字列表示されます。

Public Sub MeasureCharacterRangesRegions(ByVal
 e As PaintEventArgs)

    ' Set up string.
    Dim measureString As String
 = "First and Second ranges"
    Dim stringFont As New
 Font("Times New Roman", 16.0F)

    ' Set character ranges to "First" and "Second".
    Dim characterRanges As CharacterRange()
 = _
    {New CharacterRange(0, 5), New CharacterRange(10, 6)}

    ' Create rectangle for layout.
    Dim x As Single = 50.0F
    Dim y As Single = 50.0F
    Dim width As Single
 = 35.0F
    Dim height As Single
 = 200.0F
    Dim layoutRect As New
 RectangleF(x, y, width, height)

    ' Set string format.
    Dim stringFormat As New
 StringFormat
    stringFormat.FormatFlags = StringFormatFlags.DirectionVertical
    stringFormat.SetMeasurableCharacterRanges(characterRanges)

    ' Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
    x, y, stringFormat)

    ' Measure two ranges in string.
    Dim stringRegions(2) As [Region]
    stringRegions = e.Graphics.MeasureCharacterRanges(measureString, _
    stringFont, layoutRect, stringFormat)

    ' Draw rectangle for first measured range.
    Dim measureRect1 As RectangleF = _
    stringRegions(0).GetBounds(e.Graphics)
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), _
    Rectangle.Round(measureRect1))

    ' Draw rectangle for second measured range.
    Dim measureRect2 As RectangleF = _
    stringRegions(1).GetBounds(e.Graphics)
    e.Graphics.DrawRectangle(New Pen(Color.Blue, 1), _
    Rectangle.Round(measureRect2))
End Sub
public void MeasureCharacterRangesRegions(PaintEventArgs
 e)
{

    // Set up string.
    string measureString = "First and Second ranges";
    Font stringFont = new Font("Times New Roman", 16.0F);

    // Set character ranges to "First" and "Second".
    CharacterRange[] characterRanges = { new CharacterRange(0,
 5), new CharacterRange(10, 6) };

    // Create rectangle for layout.
    float x = 50.0F;
    float y = 50.0F;
    float width = 35.0F;
    float height = 200.0F;
    RectangleF layoutRect = new RectangleF(x, y, width, height);

    // Set string format.
    StringFormat stringFormat = new StringFormat();
    stringFormat.FormatFlags = StringFormatFlags.DirectionVertical;
    stringFormat.SetMeasurableCharacterRanges(characterRanges);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, x, y, stringFormat);

    // Measure two ranges in string.
    Region[] stringRegions = new Region[2];
    stringRegions = e.Graphics.MeasureCharacterRanges(measureString, stringFont,
 layoutRect, stringFormat);

    // Draw rectangle for first measured range.
    RectangleF measureRect1 = stringRegions[0].GetBounds(e.Graphics);
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), Rectangle.Round(measureRect1));

    // Draw rectangle for second measured range.
    RectangleF measureRect2 = stringRegions[1].GetBounds(e.Graphics);
    e.Graphics.DrawRectangle(new Pen(Color.Blue, 1), Rectangle.Round(measureRect2));
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からGraphics.MeasureCharacterRanges メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からGraphics.MeasureCharacterRanges メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からGraphics.MeasureCharacterRanges メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Graphics.MeasureCharacterRanges メソッド」の関連用語

Graphics.MeasureCharacterRanges メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Graphics.MeasureCharacterRanges メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS