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

复制-粘贴不能保持透明度。尝试保存文件,然后在Photoshop中使用Open File。AFAIK,Paint没有保存启用透明度的png文件的功能。

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

贴出 @DanLugg 的评论作为答案,因为这对Windows来说是最方便的,我觉得。

1.在图片上点击右键,然后从浏览器中点击Copy Image URL。 2. 在Photoshop中选择File->Open (ctrl-o),然后将URL粘贴到对话框的文件名部分。 - Photoshop/Windows会将URL下载到一个临时文件并打开它。

对于OS X,在打开文件对话框/表中没有可以粘贴URI的区域。相反,您必须下载文件并打开它(例如,从浏览器拖动到桌面,然后将新文件拖到Dock或Photoshop文档中),然后删除临时文件。


FWIW,这似乎是一个Photoshop问题,而不是浏览器或操作系统的问题。在OS X和Windows上,我都可以从Chrome浏览器(OS X上的Safari也可以)复制一个具有透明度的PNG图像,然后将其粘贴到Illustrator或其他应用程序中,并使其保持透明度。仅仅是Photoshop的问题。

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

试试这样:复制透明图像,粘贴到MS Word中。然后从Word中复制(或拖/放)并粘贴到其他目标程序中。

我发现从Chrome浏览器粘贴到Visio中会变成黑色,但在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.pngShift+Ctrl+F12键组合就会被发送到Photoshop,我将其映射到一个Photoshop动作,将clip.png文件放入当前打开的文档中。

如果实用程序没有保存图像,则将标准的Ctrl+V键组合发送到Photoshop,并进行标准的粘贴。

所有的源代码都可以在这里找到。 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
0
Advertisement
0
0
2016-01-18 05:10:30 +0000
Advertisement

如果有人想知道,如果你在复制的PNG文件上得到一个黑色的背景颜色,即使是手动打开它,试着检查是否有一个alpha通道。

似乎取决于用哪个软件制作PNG,透明度有时会保留在图层内,但有时会保留在alpha通道中。

当它在alpha通道中的时候,一个简单的技巧是CTRL+点击alpha通道的小预览来选择它,然后在图层上用选择的黑色背景创建一个蒙版。(然后你就可以删除阿尔法通道了)

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

我刚刚花了很多时间研究这个问题。在制作原型时,我使用Photoshop复制半透明的纹理有一段时间了(目标是Axure RP)。

现在,我已经尝试使用html 5中新的剪贴板API。我剖析了这个过程产生的PNG文件。

如果我使用剪贴板(有一个矩形标记)使用剪贴板API将一个半透明的纹理复制到浏览器,它将alpha字节设置为FF(完全不透明)。

如果我使用拖放 API 将 “另存为 Web "的 PNG 24 文件复制到浏览器,它的工作原理与预期一样,透明像素也能正常工作(而且 Alpha 字节不会被强制设置为 FF)。

注意:即使Photoshop说它是24位的,它实际上还是以8位导出的(已确认)。

Advertisement

相关问题

9
13
7
7
5
Advertisement