Как вставить прозрачное изображение в фотошоп?

Есть ли способ вставить прозрачное изображение в фотошоп через буфер обмена?

Я пытался использовать зарегистрированный формат «PNG», но, похоже, фотошоп его не поддерживает (в отличие от MSOffice 2007 и GIMP). Использование CF_DIB не сохраняет альфа-канал в фотошопе.

ПРИМЕЧАНИЕ. Я использовал WinApi для выполнения таких действий.


person LmTinyToon    schedule 31.03.2017    source источник
comment
Копирование и вставка должны работать, я делаю это каждый день. Какую версию вы используете?   -  person OtherClare    schedule 04.04.2017
comment
2015 Фотошоп. Я обнаружил, что у него есть проблема с вставкой прозрачных изображений из любых продуктов, которые не созданы Adobe.   -  person LmTinyToon    schedule 04.04.2017


Ответы (4)


Так что мне надоело это раздражение, и я нашел обходной путь.

В нем две части:

  • Я написал крошечную утилиту для сохранения изображения из буфера обмена в файл .png.
  • Скрипт AutoHotKey

Скрипт AutoHotKey проверяет, активен ли в данный момент Photoshop, и если да, то перехватывает комбинацию клавиш Ctrl+V, а затем запускает утилиту.

Если утилита сохранила изображение в %TEMP%\clip.png, в Photoshop будет отправлена ​​комбинация клавиш Shift+Ctrl+F12, которую я сопоставил с действием Photoshop, чтобы поместить файл clip.png в текущий открытый документ.

Если утилита не сохранила изображение, в Photoshop отправляется стандартная комбинация клавиш Ctrl+V и выполняется стандартная вставка.

Весь исходный код доступен здесь: https://github.com/SilverEzhik/ClipboardToPNG, а утилиту можно скачать здесь: https://github.com/SilverEzhik/ClipboardToPNG/releases

Чтобы создать действие Photoshop, просто создайте новое действие с комбинацией клавиш, сопоставленной с Shift+Ctrl+F12 (или измените комбинацию в файле скрипта), а затем во время записи перейдите к File > Place Embedded... и вставьте %TEMP%\clip.png в файл. поле имени.

Исходный код скрипта AHK приведен ниже — если вы раньше не использовали AutoHotKey, установите его, затем сохраните код в файле filename.ahk в том же каталоге, что и утилита ClipboardToPNG.exe, а затем просто запустите его.

DoPhotoshopPaste() {
    RunWait, %A_ScriptDir%\ClipboardToPNG.exe ; run utility, wait for it to complete
    if (ErrorLevel == 0) { ; if error code is 0
        SendEvent, +^{F12} ; press Shift+Ctrl+F12 to run the designated Photoshop action to paste
    }
    else { 
        SendEvent, ^v ; else, just perform a standard paste.
    }
}

#IfWinActive ahk_exe Photoshop.exe ; only activate this hotkey when photoshop is active
    ^v::DoPhotoshopPaste()
#IfWinActive
person Ezhik    schedule 15.05.2018

К сожалению, Photoshop еще не помог «копировать-вставить» png из внешнего источника на страницу без черного фона. Единственный способ, который я знаю, это сохранить файл, а затем открыть его в Photoshop. Оттуда "копипаст" должен работать.

person bamGFX    schedule 05.07.2018

Вы должны сначала сохранить изображение png или gif на свой компьютер, а затем открыть его в Photoshop, иначе вы получите черный фон.

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

Когда вы это сделаете, он может превратиться в смарт-объект, который сохранит свое качество при изменении размера. Если вы не хотите, чтобы это был смарт-объект, щелкните правой кнопкой мыши его слой, выберите «Растрировать слой».

person Matt McManis    schedule 05.04.2017
comment
Ой ну спасибо. Я знаю такое решение, но меня интересует именно вставка изображения из буфера обмена. Я провел простые тесты, и я сомневаюсь, поддерживает ли фотошоп альфа-каналы таким образом (например, когда я копирую изображение из продукта, который не является Adobe - person LmTinyToon; 05.04.2017
comment
@LmTinyToon Я так и не нашел способ сделать это, но я посмотрю на это. Вот сообщение, объясняющее graphicdesign.stackexchange.com/a/13191 - person Matt McManis; 05.04.2017
comment
Я не согласен с ответом, потому что мой подход очень хорошо работает с ms office 2007 и Gimp. Я немного изучил фотошоп и обнаружил, что он не поддерживает чистый формат PNG, многие экспортируемые форматы являются внутренними форматами фотошопа. Я понятия не имею, почему фотошоп выбирает такой путь - person LmTinyToon; 05.04.2017

откройте свое изображение в Microsoft Paint или другом программном обеспечении и сохраните как прозрачный файл .png, а затем перетащите его в Photoshop.

person Durgesh Dangi    schedule 18.04.2017