1

Тема: AHK: Как правильно в GUI задать анимацию сменной картинок?

Пробовал просто заменять одну картинку на другую - мигает.
Пробовал "протаскивать" картинку из нескольких кадров, прикрывая линее - тащится изображение из прикрывающего Text.
Пробовал вставить анимированный gif - не воспроизводится.
Как правильно?

2

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Специально для этого придумали AinGIF.

3

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Пробовал просто заменять одну картинку на другую - мигает.

Так должно быть получше:


	GuiControl, -Redraw, Picture
	GuiControl, , Picture,  картинка
	GuiControl, +Redraw, Picture

Пробовал вставить анимированный gif - не воспроизводится.

Или так:


pic := "D:\Images\Newtons_cradle_animation_book_2.gif" ; путь
width := 222, height := 167 ; размеры

html := "<body style=""overflow: hidden; margin: 0px""><img src=" pic " width=" width "px></body>" 
Gui, -DPIScale 
Gui, Margin, 0, 0
Gui, Add, ActiveX, w%width% h%height% voHTML, HTMLFile 
oHTML.Write(html)  
Gui, Show
Return 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

4

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

serzh82saratov, первый совет помогает, буду проверять ещё. Второй - крестик вместо картинки. Путь проверял.

5 (изменено: serzh82saratov, 2015-11-19 16:43:43)

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Второй - крестик вместо картинки.


FixIE(0)

pic := "D:\Images\Newtons_cradle_animation_book_2.gif" ; путь
width := 222, height := 167 ; размеры

html := "<body style=""overflow: hidden; margin: 0px""><img src=" pic " width=" width "px></body>" 
Gui, -DPIScale 
Gui, Margin, 0, 0
Gui, Add, ActiveX, w%width% h%height% voHTML, HTMLFile 
oHTML.Write(html)  
Gui, Show
Return 

FixIE(Fix)  {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
	Else
		RegDelete, HKCU, %Key%, %ExeName%
} 

Может быть ещё FixIE(1).

Путь проверял.

Путь в кавычках?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

6 (изменено: Kurskador, 2015-11-19 17:30:20)

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

FixIE(0) нет такой функции. Нужна библиотека?

Да, в кавычках. Нужны ещё одни?
Код для картинки в GUI вот так показывает:

<body style="overflow: hidden; margin: 0px"><img src=C:\1.gif width=500px></body>     

7

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

FixIE(0) нет такой функции.

А это что тогда?

FixIE(Fix)  {
	Static Key := "Software\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"
	If A_IsCompiled
		ExeName := A_ScriptName
	Else
		SplitPath, A_AhkPath, ExeName
	If Fix
		RegWrite, REG_DWORD, HKCU, %Key%, %ExeName%, 0
	Else
		RegDelete, HKCU, %Key%, %ExeName%
} 
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

8

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

О, нет, с записью в реестр не хочется связываться.
Как по вашему первый метод достаточно надёжен? Не начнёт мигать если система нагружена или при других условиях?

9

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Да кто его знает, небольшие мелькания и так остаются.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

10

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Да, мигает. И другие странные эффекты даёт.
Других идей нет?

11

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

AniGIF control чем не устраивает?

12

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Kurskador пишет:

Других идей нет?

Использовать GDI+.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

13 (изменено: Kurskador, 2015-11-19 21:07:05)

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Не нашёл там ничего для картинок, только для фигур.

ypppu, не нашёл нормальных живых ссылок.

14 (изменено: serzh82saratov, 2015-11-19 21:25:55)

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

ypppu пишет:

Специально для этого придумали AinGIF.

Это вроде только для Basic. Наверное отказались от этой идеи из за необходимости файла DLL. По более свежему поиску вижу только ActiveX.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

15 (изменено: serzh82saratov, 2015-11-19 21:35:49)

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Ещё можно так попробовать:


#NoEnv
Path := "D:\Images\Newtons_cradle_animation_book_2.gif" ; путь 
width := 222, height := 167 ; размеры
 
Gui, -DPIScale 
Gui, Margin, 0, 0
Gui, Add, ActiveX, w%width% h%height% Disabled voIE, Shell.Explorer
oIE.Navigate("about:blank")
oIE.Document.Write("<body style=""overflow: hidden; margin: 0px""><img src=" Path " width=" width "px; height=" height "></body>" ) 
oIE.Document.close
Gui, Show
Return 

Может быть к пути файла надо дописать в начале:


Path := "file://localhost/D:\Images\Newtons_cradle_animation_book_2.gif"
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

16

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Всё там рабочее. Просто надо пользоваться поиском.

Post's attachments

AniGIF.zip 40.67 kb, 42 downloads since 2015-11-19 

You don't have the permssions to download the attachments of this post.

17

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Kurskador пишет:

Не нашёл там ничего для картинок, только для фигур.

Наверное, плохо искали.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

18

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Всё там рабочее.

Ну тогда сорри.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

19

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Работает и без "file://". Надо проверять наличие в системе IE, ActiveX и прочего?

20

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

ypppu, "Cannot create AniGif control". AHK_L нужен?

21 (изменено: serzh82saratov, 2015-11-19 23:06:47)

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Надо проверять наличие в системе IE, ActiveX и прочего?

Ну скажем так,  я не уверен в работоспособности на любом ПК.
Вариант с AniGif правильнее.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

22

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Kurskador пишет:

AHK_L нужен?

Да!

23

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Не разобрать где какая. A_AhkVersion букв не даёт. Невозможно понять 1.1.22.03 - это AHK_L?

24

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Если начинается с 1.1, то AHK_L, то есть - да.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64, AutoHotkey_L v1.1.30.03 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

25

Re: AHK: Как правильно в GUI задать анимацию сменной картинок?

Почему же тогда "Cannot create AniGif control"?