ทำไม PNG แบบโปร่งใสของฉันถึงดูไม่ดี?


23

ฉันต้องการแปลง JPG เป็นแบบโปร่งใสและใช้ GIMP ฉันได้เพิ่มเลเยอร์อัลฟ่าและความโปร่งใสแบบเดียวกับที่ฉันทำ GIF แบบโปร่งใสฉันแปลงเป็น PNG แต่มันไม่แสดงผลที่ดีเมื่อฉันโหลดบนแม่แบบของฉัน:

ป้อนคำอธิบายรูปภาพที่นี่

ภาพต้นฉบับคือป้อนคำอธิบายรูปภาพที่นี่

ทำไมมันดูไม่ดีเมื่อมันกลายเป็น PNG ที่โปร่งใส? ฉันขอให้มีโชคที่ดีกว่าในการสร้าง GIF แบบโปร่งใสได้ไหม หรือว่าเป็นสีน้ำเงินที่ไม่เข้ากันกับสีดำและฉันอาจมีโชคมากกว่าโดยใช้โลโก้อื่น ๆ :

ป้อนคำอธิบายรูปภาพที่นี่ป้อนคำอธิบายรูปภาพที่นี่

ขอบคุณ


1
มันจะดีที่สุดถ้าคุณจะชี้แจงว่าคุณแปลงมันเป็น png โปร่งใสได้อย่างไร
Joonas

ขอบคุณสำหรับความคิดเห็น ฉันอัปเดตคำถามด้วยข้อมูลที่ฉันใช้ GIMP ในแบบเดียวกับที่ฉันทำให้ GIF โปร่งใส ฉันไม่ได้ลองทำมันด้วย gif แต่นั่นก็เป็นขั้นตอนทางเลือกของฉันเพื่อดูว่ามันใช้งานได้ดี
Niklas

2
ฉันสามารถบอกคุณได้ในขณะนี้ว่า. gif จะไม่ทำงานได้ดีขึ้น คุณภาพปัจจุบันที่ภาพ. png ของคุณไม่ใช่สิ่งที่ดีที่สุดที่. png สามารถทำได้ อย่างไรก็ตามนั่นเป็นสิ่งที่ดีที่สุดที่. gif สามารถทำได้ ดังนั้นจะต้องมีบางสิ่งบางอย่างในแบบที่คุณทำมันแค่ทิ้งจุดสีขาวไว้รอบโลโก้ (สิ่งนี้อาจช่วยคุณjournalxtra.com/easyguides/… )
Joonas

การสังเกต GIMP 2.8.10 แปลก ๆ เพิ่มเติม: * เมื่อเพิ่มความโปร่งใสผ่าน "เลเยอร์" -> "ความโปร่งใส" -> "Color to alpha" การลบจะทำโดยไม่คำนึงถึงการเลือก * เมื่อคุณทำการ "เลเยอร์" -> "ความโปร่งใส" - > "เพิ่มช่องอัลฟา" จากนั้น "สีเป็นอัลฟา" จะทำงานเฉพาะเมื่อเลือก
tomash

คำตอบ:


31

เคล็ดลับสำคัญในประสบการณ์ของผมเพื่อเพิ่มความโปร่งใสเรียบภาพใน GIMP คือการใช้เลเยอร์→โปร่งใส→สีอัลฟา ...เครื่องมือ แน่นอนว่าคุณต้องรู้วิธีใช้มันให้ได้ผลดี - ด้วยตัวของมันเองสิ่งที่ทำให้ภาพของคุณดูตลกและโปร่งแสง

ถ้าฉันถ่ายภาพที่คุณโพสต์ไว้ด้านบนและเพียงแค่เรียกใช้Color to Alphaบนมัน (การเลือกสีขาวสำหรับสีโปร่งใสแน่นอน) สิ่งที่ฉันได้รับคือ:

        โลโก้หลังจาก Color to Alpha

อย่างที่คุณเห็นภาพนี้ดูดีบนพื้นหลังสีอ่อน น่าเสียดายที่การวางไว้บนพื้นหลังสีเข้มทำให้องค์ประกอบสีเทาหายไปอย่างสมบูรณ์และส่วนสีน้ำเงินไม่ได้ดูยอดเยี่ยมเช่นกัน:

        โลโก้หลัง Color to Alpha บนพื้นหลังสีดำ

ปัญหาคือเครื่องมือColor to Alphaทำในสิ่งที่ควรทำ: แปลงสีขาวทั้งหมดในภาพต้นฉบับเป็นความโปร่งใส ซึ่งหมายความว่าเส้นสีเทากลายเป็นเส้นสีดำกึ่งโปร่งใสและสีน้ำเงินอ่อนกลายเป็นสีน้ำเงินเข้มกึ่งโปร่งใส

อย่างไรก็ตามสิ่งที่เราต้องการจริง ๆก็น่าจะเป็นไปได้ว่าสีพื้นฐานของข้อความและองค์ประกอบอื่น ๆ ของโลโก้ควรทึบแสงและมีเพียงพิกเซลที่ต่อต้านนามแฝงรอบ ๆ ขอบของพวกเขาเท่านั้นที่ควรกลายเป็นกึ่งโปร่งใส ในการแก้ไขปัญหานี้เราจำเป็นต้องเพิ่มสีขาวกลับเข้าไปในสี วิธีหนึ่งในการบรรลุเป้าหมายสำหรับภาพเช่นนี้ที่พื้นที่ทึบแสงส่วนใหญ่ประกอบด้วยสีเดียวคือ:

  1. ทำซ้ำเลเยอร์

  2. บนเลเยอร์ที่ต่ำกว่าแปลงความโปร่งใสเป็นมาสก์โดยทำ เลเยอร์มาสก์→→เพิ่มเลเยอร์มาสก์ ...และเลือก "ช่องอัลฟาของเลเยอร์ถ่ายโอน"

  3. หลังจากถ่ายโอนความโปร่งใสไปยังมาสก์แล้วให้เลเยอร์ล่างสีขาวสนิท (เช่นการใช้เครื่องมือเติมถังในโหมด "เติมเต็มการเลือกทั้งหมด")

  4. คุณได้เพิ่มในขณะนี้บางสีขาวเพื่อทุกสีของภาพ แต่การตกแต่งภายในของตัวอักษรและตัวเลขยังไม่ทึบแสงสมบูรณ์ เพื่อให้เป็นเช่นนั้นเราจำเป็นต้องทำให้ปกติหน้ากากในชั้นล่าง - แต่เนื่องจากส่วนต่าง ๆ ของภาพมีสีและความสว่างที่แตกต่างกันเราจึงต้องแยกมันออกจากกันในแต่ละส่วน

    ในการทำเช่นนั้นคลิกที่หน้ากากของเลเยอร์ที่ต่ำกว่าในกล่องโต้ตอบเลเยอร์เพื่อแก้ไขใช้เครื่องมือสี่เหลี่ยมผืนผ้าเลือกเพื่อเลือกแต่ละส่วนที่แตกต่างกันของภาพ ("B", "NANO" และภาพวาดด้านบน) ใน หมุนและเรียกใช้สี→อัตโนมัติ→ทำให้ปกติในการเลือกแต่ละรายการ

หลังจากทำทุกอย่าง (และรวมเลเยอร์) แล้วผลลัพธ์ควรมีลักษณะดังนี้:

        โลโก้หลังจากคืนสีขาวเป็นชิ้นส่วนทึบแสง

หากคุณเปรียบเทียบสิ่งนี้กับภาพแรกด้านบนก็แทบจะไม่เห็นความแตกต่างเลย แต่ดูว่าเกิดอะไรขึ้นเมื่อเราวางมันบนพื้นหลังสีดำ

        โลโก้หลังจากการคืนค่าสีขาวเป็นชิ้นส่วนทึบแสงพื้นหลังสีดำ

ตอนนี้สีดูทึบ แต่พื้นหลังยังโปร่งใสและขอบเรียบ

โดยไม่แจ้งให้ทราบล่วงหน้าคุณสามารถเห็นแนวสีเทารอบตัวอักษรโดยเฉพาะ "B" ฉันสงสัยว่าส่วนใหญ่เป็นเพราะภาพ JPEG ดั้งเดิมนั้นได้รับความทุกข์ทรมานจากการสูญเสียสีในพื้นที่เหล่านั้นเนื่องจากการบีบอัดแบบสูญหายมันไม่ได้ปรากฏบนพื้นหลังสีขาว มีสองวิธี (ที่ฉันรู้) พยายามแก้ไขว่า: คุณสามารถปรับระดับสีของหน้ากากบนเลเยอร์สีขาวด้วยตนเองเพื่อลดความฝืดหรือคุณสามารถลองสุ่มตัวอย่างสีทึบจากตัวอักษรในภาพต้นฉบับและ แทนที่สีขาวบนชั้นล่างสีขาวสีทึบเหล่านั้น (เลือกรูปสี่เหลี่ยมผืนผ้าเติมถัง) หรือคุณอาจลองทั้งคู่

อย่างไรก็ตามทั้งหมดนี้เป็นสิ่งที่คุณควรลองใช้หากคุณไม่มีทางเลือกอื่น มากวิธีการแก้ปัญหาที่ดีคือการพยายามหาเวกเตอร์เดิม (AI, SVG, EPS, PDF, ฯลฯ ) ไฟล์จากที่โลโก้เหล่านี้ถูกแสดงผลแน่นอน - พวกเขาควรมีข้อมูลความโปร่งใสเต็มรูปแบบจะเป็นอิสระจากสิ่งประดิษฐ์การบีบอัดและปรับขนาดได้มากเกินไป ! เฉพาะในกรณีที่เป็นไปไม่ได้ที่จะได้รับต้นฉบับจริง ๆ คุณควรพิจารณาทำงานจากไฟล์ JPEG ที่มีความละเอียดต่ำเช่นนี้

นอกจากนี้แม้ว่าคุณจะสิ้นสุดการใช้บิตแมปที่คุณอาจจะยังคงได้รับเป็นผลมาทำความสะอาดมากโดยบาง redrawing ของธาตุ - โดยเฉพาะในข้อความซึ่งดูเหมือนจะง่ายทองแดง


2

ปัญหาคือที่นี่ภาพมี "จางไปขาว" ที่ขอบและคุณยังไม่ได้ลบ การจางหรือการลดรอยหยักทำได้โดยใช้เกรย์ซึ่งมีความเปรียบต่างสูงเมื่อเทียบกับสีเข้ม

ฉันไม่ได้ใช้ GIMP แต่ในแง่ง่ายวิธีที่ง่ายที่สุดในการทำงานกับสิ่งนี้คือการสร้างเลเยอร์ใหม่ที่ด้านล่างของเลเยอร์สแต็คและน้ำท่วมเติมด้วยสีที่ชัดเจนคมชัดสูงและโดยทั่วไปไม่ได้อยู่ในภาพ ฉันมักจะใช้ RGB (255,0,0) สิ่งนี้จะเน้นให้คุณเห็นพื้นที่ทั้งหมดที่คุณต้องการลบหรือปรับเพื่อให้ภาพทำงานบนพื้นหลังใด ๆ คุณต้องลบ (ไม่ใช่สีขาว) พื้นที่ในเลเยอร์ด้านบนเพื่อให้คุณเห็นสีแดงจากเลเยอร์ด้านล่างที่แสดงผ่าน เมื่อเสร็จแล้วคุณจะลบหรือซ่อนเลเยอร์ความคมชัดก่อนส่งออก PNG เลเยอร์ความคมชัดนี้มีประโยชน์เป็นพิเศษเพราะคุณสามารถเห็นผลลัพธ์สุดท้ายโดยไม่จำเป็นต้องส่งออกเพื่อทดสอบ

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

อย่างไรก็ตามฉันคิดว่าคุณจะได้ผลลัพธ์ที่ดีกว่าหากคุณสร้างองค์ประกอบใหม่แทนที่จะนำเข้า JPEG นอกจากนี้เส้นในนี้บางและเบาจริงๆและสีดำพวกเขาอาจเลื่อนออก

ในบางกรณีจะเป็นการดีกว่าถ้าคุณมองโลโก้เป็นตราประทับหรือสติกเกอร์ให้ปล่อยบิตด้านในสีขาวและลากเส้นสีขาวขนาด 5px รอบ ๆ ขอบด้านนอก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.