_GDIPlus_CreateFontFamilyFromName
Создаёт объект FontFamily на основе шрифта.
#include <MemFont.au3>
_GDIPlus_CreateFontFamilyFromName ( $sFontname [, $hCollection = 0 ] )
Параметры
$sFontname | Имя шрифта. Например Arial.ttf имеет имя шрифта Arial |
$hCollection |
[необязательный] Указатель на объект PrivateFontCollection для удаления. По умолчанию 0 |
Возвращаемое значение
Успех: | Возвращает указатель на новый объект FontFamily. |
Ошибка: | Возвращает 0 |
См. также
Искать GdipCreateFontFamilyFromName в библиотеке MSDNПример
; Eukalyptus
; http://www.autoit.de/index.php?page=Thread&postID=147502#post147502
#include "MemFont.au3"
Global $bFont
$sFile = @ScriptDir & '\Ethnocentric.ttf'
$hFile = FileOpen($sFile, 16)
$bFont = FileRead($hFile)
FileClose($hFile)
$hGui = GUICreate("Пример 2", 780, 80)
_GDIPlus_Startup()
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
GUISetState(@SW_SHOW)
$hCollection = _GDIPlus_NewPrivateFontCollection()
$tFont = DllStructCreate('byte[' & BinaryLen($bFont) & ']')
DllStructSetData($tFont, 1, $bFont)
_GDIPlus_PrivateAddMemoryFont($hCollection, DllStructGetPtr($tFont), DllStructGetSize($tFont))
$hBrush = _GDIPlus_BrushCreateSolid(0xFF000000)
$hFormat = _GDIPlus_StringFormatCreate()
$hFamily = _GDIPlus_CreateFontFamilyFromName('Ethnocentric', $hCollection)
$hFont = _GDIPlus_FontCreate($hFamily, 18, 0)
$tLayout = _GDIPlus_RectFCreate(10, 10, 0, 0)
$aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, 'AutoIt Memory Font Example GDI+ .', $hFont, $tLayout, $hFormat)
_GDIPlus_GraphicsDrawStringEx($hGraphics, 'AutoIt Memory Font Example GDI+ .', $hFont, $aInfo[0], $hFormat, $hBrush)
_GDIPlus_FontDispose($hFont)
_GDIPlus_FontFamilyDispose($hFamily)
_GDIPlus_DeletePrivateFontCollection($hCollection)
_GDIPlus_StringFormatDispose($hFormat)
_GDIPlus_BrushDispose($hBrush)
While GUIGetMsg() <> -3
Sleep(10)
WEnd
GUIDelete($hGui)
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_Shutdown()