#Include <GDIPlus.au3>
_GDIPlus_Startup ()
$hImage = _GDIPlus_ImageLoadFromFile('Image.bmp')
$hLogo = _GDIPlus_ImageLoadFromFile('Logo.png')
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)
_GDIPlus_GraphicsDrawImage($hGraphic, $hLogo, 10, 10)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageSaveToFile ($hImage, 'NewImage.bmp')
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ImageDispose($hLogo)
_GDIPlus_ShutDown()
#Include <GDIP.au3>
$sImage = @ScriptDir & '\Image.jpg'
$sLogo = @ScriptDir & '\Logo.png'
$sResult = @ScriptDir & '\ImageAndLogo.jpg'
$iAlpha = 127
$iX = 40
$iY = 40
_GDIPlus_Startup ()
$hImage = _GDIPlus_ImageLoadFromFile($sImage)
$hLogo = _GDIPlus_ImageLoadFromFile($sLogo)
$hIA = _GDIPlus_ImageAttributesCreate()
$tCM = _GDIPlus_ColorMatrixCreateScale(1, 1, 1, $iAlpha / 255)
_GDIPlus_ImageAttributesSetColorMatrix($hIA, 0, 1, DllStructGetPtr($tCM))
$aSize = _GDIPlus_ImageGetDimension($hLogo)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)
_GDIPlus_GraphicsDrawImageRectRectIA($hGraphic, $hLogo, 0, 0, $aSize[0], $aSize[1], $iX, $iY, $aSize[0], $aSize[1], $hIA)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageAttributesDispose($hIA)
_GDIPlus_ImageSaveToFile ($hImage, $sResult)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ImageDispose($hLogo)
_GDIPlus_ShutDown()
Какая команда сделает это?
Combine может быть использована для компоновки двух изображений в одно. У этой утилиты есть несколько опций, которые определяют как именно компоновать изображения:
combine -gravity SouthEast -compose Over img.jpg logo.gif stamp_img.jpg
Опция "gravity SouthEast" помещает logo.gif в нижний правый угол. "compose Over" означает, что мы заменяем изображение логотипом в тех местах где они перекрываются.
По чести сказать по freeimage документация ну никакая. Там какие-то дикие примеры на c++, что касается GDI+, так там слишком все на элементарные операции раскладывает а тут все заточено непосредственно под обработку изображений. Удобнее ИМХО.Yashied сказал(а):А зачем? Все это можно сделать с помощью GDI+ или FreeImage.
Не путай редактор с интерфейсом командной строки и библиотеку.По чести сказать по freeimage документация ну никакая. Там какие-то дикие примеры на c++, что касается GDI+, так там слишком все на элементарные операции раскладывает а тут все заточено непосредственно под обработку изображений. Удобнее ИМХО.
Вот-вот... Именно для непрограммистов. Там решение задачи добавления логотипа происходит путем совокупности функций, которые даже приближенно о логотипе не говорят. Что проще - написать одну сроку с параметрами в командной строке,или старательно выбирать функции из библиотеки? Подчеркиваю, для решения задачи автоматизации типичных задач обработки фотографий, второй путь предпочтительней. Однако есть целый класс задач, которые решить именно с помощью командной строки не удастся...axlwor сказал(а):Не путай редактор с интерфейсом командной строки и библиотеку.По чести сказать по freeimage документация ну никакая. Там какие-то дикие примеры на c++, что касается GDI+, так там слишком все на элементарные операции раскладывает а тут все заточено непосредственно под обработку изображений. Удобнее ИМХО.
Как и было написано тут - документация сложна для понимания, добавлю от себя, для непрограммистов. 119 страниц четко структурированного описания без воды.
Теоретически - да, а вот практически... Autoit, вообще как скрипач, никому не нужен. Все можно сделать на ассемблере. :laugh: Шутка. Просто в AutoIt много ГОТОВЫХ инструментов.axlwor сказал(а):для таких задач autoit уже не нужен. по твоей ссылке уже есть пример на sh. Аналогичный можно сделать на cmd
И интерфейс визуальный...axlwor сказал(а):вот обработку файлов я бы в командной строке бы и провел.
что то похожее на
forfiles...
convert...
rename...
закачку через curl
хотя каждый решает свои задачи как хочет
1. Хранение шаблонов на рассылкуaxlwor сказал(а):Что нужно от интерфейса? кнопка старт? хранение логинов/паролей?
FileInstall("ImageMagickObject.dll",@SystemDir&"\ImageMagickObject.dll",0)
RunWait(@ComSpec & " /c regsvr32 /s ImageMagickObject.dll",@SystemDir,@SW_HIDE)
$oIM=ObjCreate("ImageMagickObject.MagickImage")
$oIM.Convert("sample.jpg", "-resize","150x150", "-sepia-tone","80%", "sampleThumb.jpg")
Хорошо, что не за "Единую Россию"Yashied сказал(а):Хе, тогда я голосую за Adobe Photoshop.
File - Automate - Batch...
WinWait("Photoshop")