ブラウザから透明なPNGをコピーすると、代わりに黒い背景が表示される


47

透明度のあるPNG画像をクリップボードにコピーしてから、Photoshopやペイントなどに貼り付けると、透明度が黒に変わります。

これに対する回避策はありますか?これは、ブラウザーの問題、アプリケーションの問題、またはクリップボードのOSの問題ですか?

Windows 7を使用しており、ChromeとInternet Explorerの最新バージョンでテストしています。


1
詳しく説明してください。正確に何をコピーしていますか?.pngそれは、エディタ/ビューアで開かれている間に、ファイルまたはそのビットマップ?ファイルの場合、Photoshopはファイルを正しく開くことができます(透明である必要があります)。画像の実際のピクセルである場合は、ソースプログラムと、クリップボードに透明度データを配置するかどうかによって異なります。
Synetech

並べ替えはOSに依存します。クリップボードには半透明の画像を含めることができないようですが、一部のブラウザは代わりに画像リンクを保持します-これを貼り付けると、透明度が変更されません。
トマーシュザト14

MSペイント(Windows 10)またはFirefox 60.0.2で透明な.pngファイルを開くと、背景が白で表示されます。IrfanViewまたはChrome 67.0.3396.87で同じファイルを開くと、背景が黒で表示されます。同じファイルをPaint.NETで開くと、背景がグレーと白のチェッカーボードとして表示されます。Paint 3Dで開くと、背景がベージュで表示されます。MSペイントからコピーすると、背景は不透明な白になります。Paint.NETからコピーした場合、透明な背景はWin10クリップボードに保存されるため、どのプログラムに貼り付けるかによって異なります。
デイブバートン

回答:


30

Copy-Pasteは透明度を維持しません。ファイルを保存してからOpen File、Photoshopで使用してみてください。私の知る限り、ペイントには透明度が有効なpngファイルを保存する機能がありません。


4
ええ、これは私がやっていることです。他の方法があればいいのにと思います。
ライアンエルキンズ

2
@ryan FWIW、これは実際にはPhotoshop側のバグのようです。IE、FF、またはChromeからコピーすると、Paint.netで動作します。回避策は「Paint.netで貼り付け、すべて選択、コピー、Photoshopで貼り付け」だろうと思いましたが、うまくいきません。画像は黒ではなく白になりますが、透明度はありません。
キップ

9
ご注意ください。PhotoshopでURLを開き、中間ステップを保存できます。Windows(他のOSも同じように動作するはずです)は、ローカルの一時ファイルにダウンロードして開きます。これ(私が観察したばかり)は透明性を保持します。
ダンLugg

> Copy-Pasteは透明度を維持しません。 それは、クリップボードデータのソースに依存します。
Synetech

PowerPoint / Wordに貼り付けた場合、透明度は維持されます。
シャオペン-ZenUML.com 14

11

@DanLuggによるコメントを回答として投稿することは、Windowsにとって最も便利なことです。

  1. 画像をCopy Image URLブラウザで右クリックします。
  2. PhotoshopでFile->Open(ctrl-o)を選択し、ダイアログのファイル名部分にURLを貼り付けます。
    • Photoshop / Windowsは、URLを一時ファイルにダウンロードして開きます。

OS X、何のフィールドは、1つのURIを貼り付けることができ[ファイルを開く]ダイアログ/シートではありません。代わりに、ファイルをダウンロードして開いて(たとえば、ブラウザからデスクトップにドラッグしてから、新しいファイルをDockまたはPhotoshopドキュメントにドラッグして)、一時ファイルを削除する必要があります。


FWIW、これはPhotoshopの問題であり、ブラウザやOSの問題ではないようです。OS XとWindowsの両方で、透明度のあるPNG画像をChrome(およびOS XのSafari)からコピーし、Illustratorまたは他のアプリケーションに貼り付けて、透明度を維持することができます。Photoshopだけが原因です。


これは天才であり、PhotoshopがURLから直接開くことができるとは考えていませんでした!良い発見!
ドギー52

1
このオプションは、OSXでは使用できないようです。誰もが知っていますか?
クリスティーンクーパー

@ChristineCooper OS Xで私が知っている最良のオプションは、イメージをダウンロードしてから開き、元のファイルを削除することです。画像をフォルダーまたはデスクトップ(ファイルとして保存)にドラッグし、そのファイルをDockのPhotoshopまたは開いているPhotoshopドキュメントにドラッグするのと同じくらい簡単です。Photoshop CS6とともにChromeとSafariの両方を使用してさまざまなオプションをテストしましたが、クリップボードを使用するより良い方法や方法を見つけることができません。
プログズ

はい、ダウンロードとオープンのオプションを避けようとしており、基本的に手順を減らしたいと思っています。ドラッグアンドドロップも機能しません。願わくば、OSXユーザーが将来URLをPhotoshopに貼り付けられるようになります。ありがとう!
クリスティーンクーパー

Photoshopの問題ではありません。問題は、コピーで使用されるクリップボード形式が実際にアルファ対応として指定されていないことです。Photoshopは単に仕様に従っているだけです。
ネルガッド

2

これを試してください:透明な画像をコピーし、MS Wordに貼り付けます。次に、Wordからコピー(またはドラッグ/ドロップ)し、他のターゲットプログラムに貼り付けます。

ChromeからVisioへの貼り付けが黒くなるが、Wordで正常に動作し、Wordからコピーすると、Visioに適切かつ透過的に貼り付けられます。


しないでください!透明な背景を失います!
アンドレイクラスツキー

なぜそれをしないように言われているのかわかりませんが、それはVisioを使用するときに透明度を維持するためです。また、Wordを使用して、透明度のある画像ではない場合に透明度を追加します(背景色の設定や背景機能の削除)。
JamieRI

1

この問題に対処する回避策を作成しました。PNGをコピーした後にスクリプトを実行すると、透明度をそのままにして、ChromeからPhotoshop、ペイントなどに画像を貼り付けることができます。

プログラム+ソース:https : //github.com/skoshy/CopyTransparentImages/releases

問題が発生した場合は、こちらまたはGithubでお気軽にご連絡ください!


これに関する詳細に興味があります。あなたのコードは何をしますか?Photoshopは、クリップボードデータにない透明度に対して何を期待していますか?
Phrogz

0

ブラウザからPhotoshopまたはPNGファイルを適切に処理するプログラムに画像をドラッグするだけです。


1
良い提案のように聞こえますが、これはWindows 7x64上のChromeとPhotoshop CCの間では機能しません。[+]カーソルがPhotoshopのターゲット上に示しているが、何のイメージが結果としてオープンされていません。
プログズ14年

0

私はこれについて多くの時間を費やしました。私はPhotoshopを使用して、プロトタイプ作成中に半透明のテクスチャをコピーしました(Axure RPの宛先を使用)。

さて、html 5の新しいクリップボードAPIを使用してみました。このプロセスで生成されたPNGファイルを分析しました。

クリップボード(長方形のマーキーを使用)を使用して、クリップボードAPIを使用してブラウザに半透明のテクスチャをコピーすると、アルファバイトがFF(完全に不透明)に設定されます。

ドラッグアンドドロップAPIを使用して「Webとして保存」PNG 24ファイルをブラウザーにコピーすると、期待どおりに機能し、透明ピクセルが機能します(アルファバイトはFFに強制されません)。

注:Photoshopは24ビットだと言っていても、実際には8ビットとしてエクスポートします(確認済み)。


0

不思議な人は、コピーしたPNGファイルを手動で開いても黒い背景色が表示される場合は、アルファチャネルがないかどうかを確認してください。

PNGの作成に使用されたソフトウェアに応じて、透明度はレイヤー内に保持される場合がありますが、別の場合はアルファチャネルに保持されます。

アルファチャンネルにある場合のトリックは、Ctrlキーを押しながらアルファチャンネルの小さなプレビューをクリックして選択し、選択範囲の黒い背景でレイヤー上にマスクを作成することです。(その後、アルファチャネルを削除できます)


0

だから私はこの迷惑にうんざりして、回避策を作りました。

それには2つの部分があります。

  • クリップボードの画像を.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.ahkClipboardToPNG.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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.