2011-01-25 20:23:48 +0000 2011-01-25 20:23:48 +0000
50
50
Advertisement

При копировании PNG с прозрачностью из браузера вместо него отображается черный фон.

Advertisement

Когда я копирую изображение PNG с прозрачностью в буфер обмена, а затем вставляю его в Photoshop, Paint и т.д.. - прозрачность становится черной.

Есть ли для этого какой-нибудь обходной путь? Это проблема с браузером, приложением или операционной системой в буфере обмена?

Я использую Windows 7 и протестировал ее в последних версиях Chrome и Internet Explorer.

Advertisement
Advertisement

Ответы (8)

32
32
32
2011-01-25 21:17:34 +0000

Copy-Paste не поддерживает прозрачность. Попробуйте сохранить файл, а затем использовать Open File в Photoshop. AFAIK, Paint не имеет возможности сохранять файлы png с включенной прозрачностью.

12
12
12
2014-11-13 17:01:12 +0000

Размещение комментария с помощью кнопки @DanLugg в качестве ответа, так как это наиболее удобно для Windows , IMHO:

  1. Щелкните правой кнопкой мыши на изображении и Copy Image URL из браузера.
  2. В Photoshop выберите File->Open (ctrl-o) и вставьте URL в часть диалога, посвященную имени файла.
  3. Photoshop/Windows загрузит URL во временный файл и откроет его.

Для OS X, в диалоге открытого файла/листа нет поля, в которое можно вставить URI. Вместо этого необходимо загрузить файл и открыть его (например, перетащить из браузера на рабочий стол, затем перетащить новый файл в док-станцию или в документ Photoshop), а затем удалить временный файл.


FWIW, это кажется проблемой Photoshop, а не проблемы с браузером или операционной системой. Как в OS X, так и в Windows, я могу скопировать изображение PNG с прозрачностью из Chrome (а также Safari в OS X) и вставить его в Иллюстратор или другие приложения, чтобы оно сохраняло прозрачность. Виноват только Photoshop.

3
Advertisement
3
3
2014-12-01 02:20:55 +0000
Advertisement

Попробуйте это: скопируйте прозрачное изображение, вставьте в MS Word. Скопируйте его (или перетащите) из слова и вставьте в другую целевую программу.

я обнаружил, что вставка в Visio из Chrome становится черной, но работает правильно в Word, а затем скопировал из Word, что она вставляется правильно и прозрачно в Visio.

1
1
1
2017-02-01 07:15:07 +0000

Я принял обходной путь, который решает эту проблему. Запуск моего скрипта после копирования PNG позволяет вставить изображение из Chrome в Photoshop, Paint и т.д. с прозрачностью в такт.

Программа + Источник: https://github.com/skoshy/CopyTransparentImages/releases

Если у вас возникнут какие-либо проблемы, не стесняйтесь сообщить мне об этом здесь или на Github!

0
Advertisement
0
0
2012-09-21 20:11:01 +0000
Advertisement

Вы можете просто перетащить изображение из браузера в Photoshop или любую другую программу, которая будет правильно обрабатывать PNG-файл.

0
0
0
2018-05-15 03:04:39 +0000

Так что я сыт по горло этим раздражением и обходным путём.

Там две части:

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

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

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

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

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

Чтобы создать Action 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
0
Advertisement
0
0
2016-01-18 05:10:30 +0000
Advertisement

Для тех, кому интересно, если вы получаете черный цвет фона на скопированном PNG-файле, даже открывая его вручную, попробуйте проверить, нет ли альфа-канала.

Похоже, в зависимости от того, какое программное обеспечение использовалось для создания PNG, прозрачность иногда сохраняется так же, как и внутри слоев, но в какой-то другой раз она сохраняется в альфа-канале.

Трюк, когда он находится в альфа-канале - это просто CTRL+Нажмите на маленький предварительный просмотр альфа-канала, чтобы выделить его, а затем создайте маску на слое с чёрным фоном из выделения. (Затем вы можете удалить альфа-канал).

0
0
0
2013-01-16 10:15:59 +0000

Я просто потратил много времени, чтобы разобраться в этом. В течение некоторого времени я использовал Photoshop для копирования полупрозрачных текстур при создании прототипов (с назначением Axure RP).

Теперь я попробовал использовать новый API буфера обмена в html 5. Я препарировал PNG-файлы, которые генерируются этим процессом.

Если я использую буфер обмена (с прямоугольным шаблоном) для копирования полупрозрачной текстуры в браузер с API буфера обмена, он устанавливает альфа-байт в FF (полностью непрозрачный).

Если я использую API перетаскивания для копирования в браузер файла “Save as Web” PNG 24, он работает так, как и ожидалось, и прозрачные пиксели работают (при этом альфа-байт не принуждается к FF).

Примечание: Даже если Photoshop говорит, что он 24-битный, на самом деле он экспортирует его как 8-битный (подтверждено).

Advertisement

Похожие вопросы

9
13
7
7
1
Advertisement
Advertisement