Function Reference

_GDIPlus_GraphicsMeasureString

文字列のサイズを測ります。

#Include <GDIPlus.au3>
_GDIPlus_GraphicsMeasureString($hGraphics, $sString, $hFont, $tLayout, $hFormat)

 

パラメータ

$hGraphics Graphicsオブジェクトのハンドル
$sString 描画される文字列
$hFont 文字列の描画に使用するフォントのハンドル
$tLayout 文字列に外接する$tagGDIPRECTF構造体
$hFormat 文字列の描画に使用される文字列フォーマットのハンドル

 

返し値

成功: 次のフォーマットの配列
[0] - 文字列の外接長方形を受け取った$tagGDIPRECTF構造体
[1] - レイアウト長方形に実際におさまっている文字の数
[2] - Tレイアウト長方形におさまっている行の数
失敗: 0

 

注意

なし。

 

関連

$tagGDIPRECTF

 

こちらも参照

MSDNライブラリでGdipMeasureStringを検索して下さい。

 


#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
    Local $hGUI, $hGraphic, $hBrush, $hFormat, $hFamily, $hFont, $tLayout, $aInfo
    Local $sString = "Hello world"

    ; GUI作成
    $hGUI = GUICreate("GDI+", 400, 300)
    GUISetState()

    ; 文字列を描画
    _GDIPlus_Startup ()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
    $hBrush = _GDIPlus_BrushCreateSolid (0xFF00007F)
    $hFormat = _GDIPlus_StringFormatCreate ()
    $hFamily = _GDIPlus_FontFamilyCreate ("Arial")
    $hFont = _GDIPlus_FontCreate ($hFamily, 12, 2)
    $tLayout = _GDIPlus_RectFCreate (140, 110, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString ($hGraphic, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx ($hGraphic, $sString, $hFont, $aInfo[0], $hFormat, $hBrush)

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; リソースを破棄
    _GDIPlus_FontDispose ($hFont)
    _GDIPlus_FontFamilyDispose ($hFamily)
    _GDIPlus_StringFormatDispose ($hFormat)
    _GDIPlus_BrushDispose ($hBrush)
    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_Shutdown ()

EndFunc   ;==>_Main