1 (изменено: minesemka, 2016-06-06 17:33:52)

Тема: AHK: Вставить изображение.png в скрипт

Привет всем, появилась проблема, нужно вставить в скрипт изображение.png, но когда вставляю, места где должно быть прозрачно красные!

Gui, -Caption
c=fe0000
gui, color, %c%
gui,  +AlwaysOnTop +LastFound +ToolWindow -Caption -Border
WinSet, TransColor, %c% 255
Gui, Font, S15 CDefault, Verdana
Gui, Add, Picture,h456 w476 va22,%A_WorkingDir%\test.png
Gui, Add, Button,y213 x193 w90 h30 gexit, выход
Gui, Show, h456 w476,  
Return

exit:
ExitApp
Return
+ Скрин

http://ipic.su/img/img7/fs/2016-06-06_18-12-18.1465215447.png

Архив с изображением и .ahk файлом

2

Re: AHK: Вставить изображение.png в скрипт

Так попробуйте:

Gui, -Caption
c=fe0000
gui, color, %c%
gui,  +AlwaysOnTop +LastFound +ToolWindow -Caption -Border

Gui, Font, S15 CDefault, Verdana
Gui, Add, Picture,h456 w476 va22,%A_WorkingDir%\test.png
Gui, Add, Button,y213 x193 w90 h30 gexit, выход
Gui, Show, h456 w476,  
WinSet, TransColor, %c% 255, ahk_class AutoHotkeyGUI
Return

exit:
ExitApp
Return

3 (изменено: minesemka, 2016-06-06 17:46:15)

Re: AHK: Вставить изображение.png в скрипт

ypppu
Попробовал, не помогло. Также красный фон.

4

Re: AHK: Вставить изображение.png в скрипт

Тогда ещё раз по порядку и подробно объясните - что требуется.

5

Re: AHK: Вставить изображение.png в скрипт

Украл где-то на офф форуме, нужна GDI+.

#SingleInstance, Force
#NoEnv
SetBatchLines, -1

#Include, Gdip.ahk

; Start gdi+
pToken := Gdip_Startup()
OnExit, Exit

Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 1: Show, NA

hwnd1 := WinExist()

pBitmap := Gdip_CreateBitmapFromFile("test.png")
Width := Gdip_GetImageWidth(pBitmap), Height := Gdip_GetImageHeight(pBitmap)
hbm := CreateDIBSection(Width//2, Height//2)	,hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)	,G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)
Gdip_DrawImage(G, pBitmap, 0, 0, Width//2, Height//2, 0, 0, Width, Height)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, Width//2, Height//2)

SelectObject(hdc, obm)	,DeleteObject(hbm)	,DeleteDC(hdc)
Gdip_DeleteGraphics(G),	Gdip_DisposeImage(pBitmap)
Return

;#######################################################################

Exit:
; gdi+ may now be shutdown on exiting the program
Gdip_Shutdown(pToken)
ExitApp
Return

6 (изменено: minesemka, 2016-06-06 17:37:00)

Re: AHK: Вставить изображение.png в скрипт

ypppu пишет:

Тогда ещё раз по порядку и подробно объясните - что требуется.

Нужно чтобы место красного фона был прозрачный (видеть что за ним).
Он становиться прозрачным но не весь!

7 (изменено: minesemka, 2016-06-06 17:46:41)

Re: AHK: Вставить изображение.png в скрипт

Nikva
А что такое GDI+? И где его взять? И как установить?

8

Re: AHK: Вставить изображение.png в скрипт

Избыточное цитирование запрещено, я поправил сообщение. Есть кнопка "Ответить".

9 (изменено: Nikva, 2016-06-06 17:47:50)

Re: AHK: Вставить изображение.png в скрипт

minesemka
Перейти по ссылке нажать, Ctrl+S, сохранить рядом с скриптом и стереть ".txt" в названии.

10 (изменено: minesemka, 2016-06-06 17:53:12)

Re: AHK: Вставить изображение.png в скрипт

Nikva
Запустил и нечего не появилось (только иконка в трее).

11

Re: AHK: Вставить изображение.png в скрипт

minesemka
А картинка в папке с скриптом?
Верное ли название картинки? (test.png)

12 (изменено: minesemka, 2016-06-06 18:07:12)

Re: AHK: Вставить изображение.png в скрипт

Nikva

+ Скриншот

http://ipic.su/img/img7/fs/2016-06-06_20-00-41.1465221766.png

Всё лежит вместе!
Нашёл на форуме что надо положить в Мои документы\AutoHotkey\Lib все ровно не заработало!

13

Re: AHK: Вставить изображение.png в скрипт

Вроде нашёл.

;Gui, -Caption
c=fe0000
gui, color, %c%
gui,  +AlwaysOnTop +LastFound +ToolWindow  -Border

Gui, Font, S15 CDefault, Verdana
Gui, Add, Picture,h456 w476 va22,%A_WorkingDir%\test.png
; Gui, Add, Button,y213 x193 w90 h30 gexit, выход
Gui, Show, h456 w476,  
WinSet, TransColor, %c% 255, ahk_class AutoHotkeyGUI
Return

exit:
ExitApp
Return

Так должно работать. Кажется в справке была подсказка по опциям Caption и Border. Если будет время - проверю.

14 (изменено: minesemka, 2016-06-06 18:10:43)

Re: AHK: Вставить изображение.png в скрипт

ypppu
Все ровно не работает!
Спасибо что помогаете!
Я там ссылку на архив скинул протестируйте пожалуйста может это у меня какие то проблемы

15

Re: AHK: Вставить изображение.png в скрипт

minesemka
У меня все работает. Не пойму, что может идти не так.
ypppu
Полупрозрачные области все равно остаются красными.

16 (изменено: minesemka, 2016-06-06 18:25:55)

Re: AHK: Вставить изображение.png в скрипт

Nikva
А можно как нибудь полупрозрачные тоже сделать прозрачными, а не красными?

17

Re: AHK: Вставить изображение.png в скрипт

Nikva пишет:

Украл где-то на офф форуме, нужна GDI+.

Называется «слышал звон, да не знаю, где он». Ваша ссылка ведёт на файл для AHK-basic, он работает только для 32-битных версий AHK. Страница проэкта на форуме, скачивать Gdip All.

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

18

Re: AHK: Вставить изображение.png в скрипт

Полупрозрачные области все равно остаются красными.

Правильно, в том коде прозрачным был назначен только цвет fe0000.

minesemka, если я правильно понял, требуется поместить в окно изображение, имеющее области с различными степенями прозрачности.

Была такая тема AHK: альфа 32 бита, где yalanne выложил пример скрипта.

Post's attachments

GDI+Прозрачность.zip 117.31 kb, 5 downloads since 2016-06-06 

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

19

Re: AHK: Вставить изображение.png в скрипт

ypppu, зачем пример yalanne? Код, который привёл Nikva — рабочий.

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

20

Re: AHK: Вставить изображение.png в скрипт

Эти 2 кода идентичны.

21

Re: AHK: Вставить изображение.png в скрипт

Тем более.

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

22

Re: AHK: Вставить изображение.png в скрипт

Впрочем, версия GDIp.ahk там обновлённая.

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

23

Re: AHK: Вставить изображение.png в скрипт

ypppu
А можно как нибудь запустить это всё на ПК на котором нет программы AutoHotKey??
Скомпилировал Gdip.exe изменил #Include, Gdip.ехе, нечего не работает!

24

Re: AHK: Вставить изображение.png в скрипт

Компилировать нужно Ваш скрипт, а не библиотеку Gdip.

25

Re: AHK: Вставить изображение.png в скрипт

ypppu
а как я должен запустить на другом компьютере Gdip.ahk? Или оно и так работать будет?

26

Re: AHK: Вставить изображение.png в скрипт

Скрипт компилируется вместе со всем, что прилагается через #Include.

27 (изменено: minesemka, 2016-06-06 22:45:40)

Re: AHK: Вставить изображение.png в скрипт

ypppu
Почему  не могу создать GUI?
Kогда создаю окно, скрипт закрывается!
Мне нужно создать прозрачное окно с кнопками поверх этого изображения!

;#######################################################################
2osx := 1905
2osx += 852
1osx := A_ScreenWidth
1osx /= 2
1osx -= 456
#SingleInstance, Force
#NoEnv
SetBatchLines, -1
#Include, Gdip.ahk
pToken := Gdip_Startup()
OnExit, Exit
Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 1: Show, NA
hwnd1 := WinExist()
pBitmap := Gdip_CreateBitmapFromFile("test.png")
Width := 2osx, Height := 1836
hbm := CreateDIBSection(Width//2, Height//2)	,hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)	,G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)
Gdip_DrawImage(G, pBitmap, 1osx, 0, Width//2, Height//2, 0, 0, Width//1, Height//1)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, Width//2, Height//2)
SelectObject(hdc, obm)	,DeleteObject(hbm)	,DeleteDC(hdc)
Gdip_DeleteGraphics(G),	Gdip_DisposeImage(pBitmap)
;~ Return
;#######################################################################
Gui, Add, button, x70 y305 w90 h30 gexit, ОК
Gui, Show, x0 y0 h342 w231, 
Return

exit:
Gdip_Shutdown(pToken)
ExitApp
return

28

Re: AHK: Вставить изображение.png в скрипт

А так?

;#######################################################################
2osx := 1905
2osx += 852
1osx := A_ScreenWidth
1osx /= 2
1osx -= 456
#SingleInstance, Force
#NoEnv
SetBatchLines, -1
#Include, Gdip.ahk
pToken := Gdip_Startup()
OnExit, Exit
Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 1: Show, NA
hwnd1 := WinExist()
pBitmap := Gdip_CreateBitmapFromFile("test.png")
Width := 2osx, Height := 1836
hbm := CreateDIBSection(Width//2, Height//2)	,hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)	,G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)
Gdip_DrawImage(G, pBitmap, 1osx, 0, Width//2, Height//2, 0, 0, Width//1, Height//1)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, Width//2, Height//2)
SelectObject(hdc, obm)	,DeleteObject(hbm)	,DeleteDC(hdc)
Gdip_DeleteGraphics(G),	Gdip_DisposeImage(pBitmap)

;#######################################################################
Gui, 2: Add, Picture, x70 y305 w90 h30 gexit, %A_WorkingDir%\выход.jpg
Gui, 2: Show, x0 y0 h342 w231, 
Return

exit:
Gdip_Shutdown(pToken)
ExitApp
return