การคัดลอก PNG ด้วยความโปร่งใสจากเบราว์เซอร์จะแสดงพื้นหลังสีดำแทน


47

เมื่อฉันคัดลอกรูปภาพ PNG ด้วยความโปร่งใสไปยังคลิปบอร์ดแล้ววางลงใน Photoshop, Paint และอื่น ๆ - ความโปร่งใสจะเปลี่ยนเป็นสีดำ

มีวิธีแก้ปัญหาสำหรับสิ่งนี้หรือไม่? นี่เป็นปัญหาของเบราว์เซอร์ปัญหาเกี่ยวกับแอปพลิเคชันหรือปัญหาเกี่ยวกับระบบปฏิบัติการกับคลิปบอร์ดหรือไม่

ฉันใช้ Windows 7 และทดสอบกับ Chrome และ Internet Explorer เวอร์ชันล่าสุด


1
กรุณาอธิบายอย่างละเอียด คุณทำสำเนาอะไรกันแน่ .pngไฟล์หรือบิตแมปในขณะที่มีการเปิดในบรรณาธิการ / ผู้ชม? หากเป็นไฟล์นั้น Photoshop (ควร) จะสามารถเปิดไฟล์ได้อย่างถูกต้องโปร่งใสและทั้งหมด หากเป็นพิกเซลที่แท้จริงของรูปภาพแสดงว่ามันขึ้นอยู่กับโปรแกรมต้นฉบับและไม่ว่าจะเป็นการวางข้อมูลความโปร่งใสในคลิปบอร์ดหรือไม่
Synetech

เรียงของขึ้นอยู่กับระบบปฏิบัติการ คลิปบอร์ดดูเหมือนจะไม่สามารถมีภาพกึ่งโปร่งใส แต่บางเบราว์เซอร์เก็บลิงค์รูปภาพแทน - เมื่อวางแล้วจะมีความโปร่งใสไม่เปลี่ยนแปลง
Tomáš Zato

หากคุณเปิดไฟล์. png อย่างโปร่งใสใน MS Paint (Windows 10) หรือ Firefox 60.0.2 พื้นหลังจะแสดงเป็นสีขาว หากคุณเปิดไฟล์เดียวกันใน IrfanView หรือ Chrome 67.0.3396.87 พื้นหลังจะแสดงเป็นสีดำ หากคุณเปิดไฟล์เดียวกันใน Paint.NET พื้นหลังจะปรากฏเป็นกระดานหมากรุกสีเทาและสีขาว หากคุณเปิดด้วย Paint 3D พื้นหลังจะแสดงเป็นสีเบจ หากคุณคัดลอกจาก MS Paint พื้นหลังจะกลายเป็นสีขาวขุ่น หากคุณคัดลอกจาก Paint.NET พื้นหลังโปร่งใสจะถูกเก็บไว้ในคลิปบอร์ด Win10 ดังนั้นสิ่งที่เกิดขึ้นขึ้นอยู่กับโปรแกรมที่คุณวางไว้
เดฟเบอร์ตัน

คำตอบ:


30

Copy-Paste ไม่รักษาความโปร่งใส ลองบันทึกไฟล์จากนั้นใช้Open Fileใน Photoshop AFAIK, โปรแกรมระบายสีไม่มีความสามารถในการบันทึกไฟล์ png ที่เปิดใช้งานความโปร่งใส


4
ใช่นี่คือสิ่งที่ฉันทำ ฉันแค่หวังว่าจะมีวิธีอื่นที่อยู่รอบ ๆ
Ryan Elkins

2
@ryan FWIW นี่น่าจะเป็นจุดบกพร่องในด้านของ Photoshop ใช้งานได้ใน Paint.net เมื่อคัดลอกจาก IE, FF หรือ Chrome ฉันคิดว่าวิธีแก้ปัญหาอาจเป็น "วางใน Paint.net เลือกทั้งหมดคัดลอกวางใน Photoshop" แต่นั่นไม่ได้ผล - คุณได้ภาพเป็นสีขาวแทนที่จะเป็นสีดำ แต่ก็ยังไม่มีความโปร่งใส
กีบ

9
เพียงแค่ทราบ คุณสามารถเปิด URL ใน Photoshop ช่วยให้คุณประหยัดในขั้นตอนกลาง Windows ( ฉันแน่ใจว่าระบบปฏิบัติการอื่น ๆ จะทำเช่นเดียวกัน ) จะดาวน์โหลดเป็นไฟล์ชั่วคราวในเครื่องแล้วเปิด สิ่งนี้ ( ฉันเพิ่งสังเกตเห็น ) ยังคงโปร่งใส
Dan Lugg

> Copy-Paste ไม่รักษาความโปร่งใส ขึ้นอยู่กับแหล่งที่มาของข้อมูลคลิปบอร์ด
Synetech

หากวางบน PowerPoint / Word ความโปร่งแสงจะถูกเก็บไว้
Xiao Peng - ZenUML.com

11

การโพสต์ความคิดเห็นโดย@DanLuggเป็นคำตอบเนื่องจากสะดวกที่สุดสำหรับWindows , IMHO:

  1. คลิกขวาที่รูปภาพและCopy Image URLจากเบราว์เซอร์
  2. ใน Photoshop เลือกFile->Open(ctrl-o) และวาง URL ลงในส่วนของชื่อไฟล์ของไดอะล็อก
    • Photoshop / Windows จะดาวน์โหลด URL ไปยังไฟล์ชั่วคราวและเปิด

สำหรับOS Xไม่มีฟิลด์ใน Open File Dialog / Sheet ที่หนึ่งสามารถวาง URI ได้ แต่คุณต้องดาวน์โหลดไฟล์และเปิดไฟล์ (เช่นลากจากเบราว์เซอร์ไปยังเดสก์ท็อปจากนั้นลากไฟล์ใหม่ไปที่ Dock หรือลงในเอกสาร Photoshop ของคุณ) จากนั้นลบไฟล์ชั่วคราว


FWIW นี่เป็นปัญหาPhotoshopไม่ใช่เบราว์เซอร์หรือปัญหาระบบปฏิบัติการ ทั้งใน OS X และ Windows ฉันสามารถคัดลอกรูปภาพ PNG ด้วยความโปร่งใสจาก Chrome (และ Safari บน OS X) และวางลงใน Illustrator หรือแอปพลิเคชันอื่น ๆ และทำให้มันโปร่งใส Photoshop เพียงอย่างเดียวคือการตำหนิ


นี่คืออัจฉริยะไม่มีความคิด Photoshop สามารถเปิดได้โดยตรงจาก URL! การค้นหาที่ดี!
Doggie52

1
ดูเหมือนว่าตัวเลือกนี้จะไม่สามารถใช้ได้กับ OSX ใครรู้หรือไม่
Christine Cooper

@ChristineCooper ตัวเลือกที่ดีที่สุดที่ฉันรู้สำหรับ OS X คือการดาวน์โหลดภาพจากนั้นเปิดแล้วลบต้นฉบับ มันง่ายเหมือนการลากภาพไปยังโฟลเดอร์หรือเดสก์ท็อป (ซึ่งบันทึกเป็นไฟล์) จากนั้นลากไฟล์นั้นไปยัง Photoshop ใน Dock หรือลงในเอกสาร Photoshop ที่เปิดอยู่ ฉันได้ทดสอบตัวเลือกที่หลากหลายโดยใช้ทั้ง Chrome และ Safari พร้อมกับ Photoshop CS6 และฉันไม่สามารถหาวิธีที่ดีกว่าหรือใช้คลิปบอร์ดได้
Phrogz

ใช่ฉันพยายามหลีกเลี่ยงการดาวน์โหลดและตัวเลือกเปิดและต้องการลดขั้นตอน การลากและวางไม่ทำงานเช่นกัน หวังว่าผู้ใช้ OSX จะสามารถวาง URL ลงใน Photoshop ในอนาคต ขอบคุณ!
Christine Cooper

มันไม่ใช่ปัญหาของ Photoshop ปัญหาคือรูปแบบคลิปบอร์ดที่ใช้โดยสิ่งใดก็ตามที่คัดลอกไม่ได้ระบุว่ามีความสามารถเป็นอัลฟา Photoshop เป็นไปตามข้อกำหนดอย่างถูกต้อง
Nyerguds

2

ลองนี้: คัดลอกภาพโปร่งใสวางลงใน MS Word จากนั้นคัดลอก (หรือลาก / วาง) จากคำแล้ววางลงในโปรแกรมเป้าหมายอื่น

ฉันพบว่าการวางลงใน Visio จาก Chrome เปลี่ยนเป็นสีดำ แต่ทำงานได้อย่างถูกต้องใน Word จากนั้นคัดลอกจาก Word นั้นวางอย่างถูกต้องและโปร่งใสใน Visio


อย่าทำมัน! คุณสูญเสียพื้นหลังโปร่งใส!
Andrei Krasutski

ไม่แน่ใจว่าทำไมคุณบอกให้ฉันไม่ทำมันเป็นสิ่งที่ฉันทำเพื่อรักษาความโปร่งใสเมื่อใช้ Visio ฉันยังใช้ Word เพื่อเพิ่มความโปร่งใส (ตั้งค่าสีพื้นหลังและ / หรือลบคุณสมบัติพื้นหลัง) เมื่อไม่ใช่ภาพที่โปร่งใส
JamieRI

1

ฉันทำวิธีแก้ปัญหาที่แก้ไขปัญหา เรียกใช้สคริปต์ของฉันหลังจากคัดลอก PNG ช่วยให้คุณวางภาพจาก Chrome ลงใน Photoshop, Paint และอื่น ๆ ด้วยความโปร่งใสในการเจรจาต่อรอง

โปรแกรม + แหล่งที่มา: https://github.com/skoshy/CopyTransparentImages/releases

หากคุณพบปัญหาใด ๆ กับมันโปรดแจ้งให้เราทราบที่นี่หรือที่ Github!


ฉันจะสนใจรายละเอียดเกี่ยวกับเรื่องนี้ รหัสของคุณทำอะไร Photoshop คาดหวังความโปร่งใสที่ไม่ได้อยู่ในข้อมูลคลิปบอร์ดอย่างไร
Phrogz

0

คุณสามารถลากรูปภาพจากเบราว์เซอร์ไปยัง Photoshop หรือโปรแกรมใดก็ตามที่จัดการไฟล์ PNG อย่างเหมาะสม


1
ฟังดูเหมือนคำแนะนำที่ดี แต่ไม่สามารถใช้งานได้ระหว่าง Chrome และ Photoshop CC บน Windows 7x64 [+]เคอร์เซอร์ปรากฏขึ้นบนเป้าหมาย Photoshop แต่ภาพไม่มีการเปิดเป็นผล
Phrogz

0

ฉันใช้เวลามากมายในการตรวจสอบเรื่องนี้ ฉันใช้ Photoshop เพื่อคัดลอกพื้นผิวกึ่งโปร่งใสในบางครั้งในขณะที่สร้างต้นแบบ (กับปลายทางของ Axure RP)

ตอนนี้ฉันได้ลองใช้คลิปบอร์ด API ใหม่ใน html 5 ฉันได้ตัดไฟล์ PNG ที่สร้างโดยกระบวนการนี้

ถ้าฉันใช้คลิปบอร์ด (ที่มีปะรำสี่เหลี่ยม) เพื่อคัดลอกพื้นผิวแบบกึ่งโปร่งใสไปยังเบราว์เซอร์ด้วยคลิปบอร์ด API มันจะตั้งค่าอัลฟาเป็นไบต์เป็น FF (ทึบแสงสมบูรณ์)

ถ้าฉันใช้ API แบบลากแล้วปล่อยเพื่อคัดลอกไฟล์ PNG 24 "บันทึกเป็นเว็บ" ไปยังเบราว์เซอร์จะทำงานได้ตามที่คาดหวังและใช้พิกเซลโปร่งใส (และอัลฟาไบต์ไม่ได้ถูกบังคับให้ใช้ FF)

หมายเหตุ: แม้จะคิดว่า Photoshop บอกว่ามันคือ 24 บิต แต่มันก็ส่งออกเป็น 8 บิต (ยืนยันแล้ว)


0

สำหรับทุกคนที่สงสัยว่าถ้าคุณได้รับสีพื้นหลังสีดำในไฟล์ PNG ที่คัดลอกแม้ในขณะที่เปิดด้วยตนเองลองตรวจสอบว่าไม่มีช่องอัลฟา

ดูเหมือนว่าขึ้นอยู่กับซอฟต์แวร์ที่ใช้ทำ PNG ความโปร่งใสบางครั้งถูกเก็บไว้ในเลเยอร์ แต่บางครั้งก็เก็บไว้ในช่องอัลฟา

เคล็ดลับเมื่ออยู่ในช่องอัลฟานั้นเพียงแค่กด CTRL + คลิกที่ภาพตัวอย่างขนาดเล็กของช่องอัลฟาเพื่อเลือกและจากนั้นสร้างหน้ากากบนเลเยอร์ที่มีพื้นหลังสีดำจากการเลือก (จากนั้นคุณสามารถลบช่องอัลฟา)


0

ดังนั้นฉันจึงเบื่อหน่ายกับความรำคาญนี้และทำให้วิธีการแก้ปัญหา

มีสองชิ้น:

  • ยูทิลิตี้เล็ก ๆ ที่ฉันเขียนเพื่อบันทึกภาพคลิปบอร์ดไปยังไฟล์. png
  • AutoHotKeyสคริปต์

สคริปต์ AutoHotKey ตรวจสอบว่า Photoshop ใช้งานอยู่ในปัจจุบันหรือไม่และหากเป็นเช่นนั้นจะตัดการรวมคีย์Ctrl+ Vแล้วเรียกใช้ยูทิลิตี้

หากยูทิลิตี้ที่บันทึกภาพไปยัง%TEMP%\clip.pngที่Shift+ 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.