Доброго времени суток.
Пытаюсь сделать функцию которая бы писала текст на картинках.
Одна беда, в GDI+ я хронически не врубаюсь.
Короче методом антинаучного тыка написал следующее:
Вроде работает. Но хотелось бы чтобы текст был по середине.
Может кто нибудь ещё проверит скрипт на грамотность (не нужные функции, лучшие решения итд.)?
Зы
Желательно что бы текст можно было сдвинуть относительно центра.
Пытаюсь сделать функцию которая бы писала текст на картинках.
Одна беда, в GDI+ я хронически не врубаюсь.
Короче методом антинаучного тыка написал следующее:
Код:
#Include <GDIPlus.au3>
$sText = 'Text'
$iLeft = 5
$iTop = 5
$xColor = 0xFFFFD823
$iFontSize = 24
$iFontStyle = 0
_GDIPlus_Startup()
$hFamily = _GDIPlus_FontFamilyCreate('Arial')
$hFont = _GDIPlus_FontCreate($hFamily, $iFontSize, $iFontStyle)
$hFormat = _GDIPlus_StringFormatCreate()
$hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & '\base.jpg')
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)
$tLayout = _GDIPlus_RectFCreate($iLeft, $iTop)
$hBrush = _GDIPlus_BrushCreateSolid($xColor)
$aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $sText, $hFont, $tLayout, $hFormat)
_GDIPlus_GraphicsDrawStringEx($hGraphic, $sText, $hFont, $aInfo[0], $hFormat, $hBrush)
_GDIPlus_ImageSaveToFileEx($hImage, @ScriptDir & '\new.jpg', _GDIPlus_EncodersGetCLSID ('JPG'))
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage )
_GDIPlus_StringFormatDispose($hFormat)
_GDIPlus_FontDispose($hFont)
_GDIPlus_FontFamilyDispose($hFamily)
_GDIPlus_Shutdown()
Вроде работает. Но хотелось бы чтобы текст был по середине.
Может кто нибудь ещё проверит скрипт на грамотность (не нужные функции, лучшие решения итд.)?
Зы
Желательно что бы текст можно было сдвинуть относительно центра.