1 (изменено: teadrinker, 2009-12-28 01:20:16)

Тема: AHK+Photoshop: Картинка с прозрачными областями

Имеется файл TV_off.jpg:
http://i.imgur.com/uANq0TZ.jpg

Задача: сделать в картинке некоторые области прозрачными и отобразить её на экране.

Для работы нам потребуется программа Adobe Photoshop, в которой мы и откроем наше изображение.
Выделяем области, которые хотим сделать прозрачными (в данном случае — экран телевизора). Затем инвертируем выделение (Ctrl + Shift + I) и копируем выделенное в буфер обмена (Ctrl + C). Теперь создаём новый слой (Ctrl + Shift + N) и вставляем в него содержимое буфера (Ctrl + V). После этого выделяем слой "бэкграунд" и удаляем его. То, что получилось, сохраняем в формате png как TV_on.png:
http://i.imgur.com/t3TDfI0.png

Закрываем Photoshop, отменяя все действия (начальный файл остаётся без изменений).
Создаём ahk-скрипт:

   Gui, +LastFound
   Gui, Color, Blue   ; любой цвет, которого нет в изображении
   WinSet, TransColor, Blue

   Gui, -Caption      ; Удаляет "неклиентскую" часть окна.
                      ; Эта команда только после WinSet, TransColor

   Gui, Add, Pic, vOn x0 y0 Border, %A_ScriptDir%\TV_on.png      ; картинка с прозрачной областью
   Gui, Add, Pic, vOff x0 y0 Border, %A_ScriptDir%\TV_off.jpg    ; картинка без неё перекрывает предыдущую
   ; опция "Border" необязательна, используется для того, чтоб были видны края изображения

   Gui, Show
   OnMessage(0x201, "WM_LBUTTONDOWN")      ; чтоб можно было двигать окно левой кнопкой мыши
   Return

GuiClose:
   ExitApp

F10::
   OnOff := !OnOff   ; здесь значение OnOff переключается между false и true
   GuiControl, % OnOff ? "Hide" : "Show", Off   ; в зависимости от значения OnOff
   Return            ; картинка с именем переменной Off скрывается или показывается


WM_LBUTTONDOWN()
{
   WM_NCLBUTTONDOWN := 0xA1, HTCAPTION := 2
   PostMessage, WM_NCLBUTTONDOWN, HTCAPTION
}

Сохраняем скрипт в файл и помещаем в его папку оба наших файла с изображениями (TV_off.jpg и TV_on.png).
Запускаем скрипт. На экране появляется окно (перемещаемое левой кнопокой мыши) с изображением телевизора, который можно "включать" и "выключать", нажимая F10.

В архиве скрипт и оба файла с изображениями.

Post's attachments

On-Off.zip 62.94 kb, 495 downloads since 2009-12-17 

You don't have the permssions to download the attachments of this post.
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg