ทำให้พื้นหลังของไฟล์ภาพเคลื่อนไหว GIF โปร่งใส


13

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


คุณได้พยายามบ้างไหม? ดูที่นี่และมี
เปาโลกิเบลลินี

ก่อนหน้านี้ฉันเคยทำมาแล้ว แต่ไม่เหมาะที่จะดูว่า GIF นี้เคลื่อนไหวอย่างไรไม่คงที่เนื่องจากวิธีการเหล่านั้นมีประโยชน์สำหรับภาพนิ่งเท่านั้น ในการทำสิ่งที่คุณแนะนำโดยแสดงคำถามสองข้อนี้ฉันจะต้องทำไฟล์ PNG แต่ละไฟล์ที่ฉันแปลงเป็น GIF แบบโปร่งใสทีละรายการและดูว่าฉันใช้ 60 เฟรมต่อ GIF ได้อย่างไรโดยเฉพาะอย่างยิ่งการเห็นว่า จากประสบการณ์ของฉันแต่ละภาพใช้เวลาในการทำอย่างน้อย 5 นาทีเนื่องจากสีของอัลฟานั้นน้อยกว่าที่สมบูรณ์แบบและต้องเล่นซอเพื่อให้ทำงานได้
BH2017

1
ฉันไม่รู้จัก Jmol แต่นี่เป็นหัวข้อที่เกี่ยวข้องกับพื้นหลังอัลฟ่า (ดูที่นี่ด้วย ) คุณส่งออกเป็นPNGTเฟรมหรือไม่
เปาโล Gibellini

GIMP สามารถสร้าง GIF ได้อย่างโปร่งใสแล้ว
Billy Kerr

คำตอบ:


16

คุณสามารถทำได้ด้วยGIFsicleโดยใช้ตัวเลือกต่อไปนี้:

gifsicle -U --disposal=previous --transparent="#ffffff" -O2 anim.gif > anim_trans.gif

โดยที่anim.gifและanim_trans.gifเป็นชื่อไฟล์ต้นทางและปลายทางและ#ffffffเป็นรหัสฐานสิบหกของสีที่คุณต้องการทำให้โปร่งใส (นี่คือสีขาวบริสุทธิ์)

(ตัวเลือกที่สำคัญที่นี่คือ-U/ --unoptimizeและ--disposal=previousซึ่งจะทำการแปลงแอนิเมชันเป็น "flipbook mode" โดยที่แต่ละเฟรมจะถูกลบอย่างสมบูรณ์ก่อนที่จะทำการวาดเฟรมถัดไปซึ่งจะช่วยเพิ่มความโปร่งใสเป็นพิเศษให้กับเฟรมโดยไม่ให้เฟรมก่อนหน้าแสดงผ่าน ส่วนที่โปร่งใส-O2ตัวเลือกไม่จำเป็นอย่างเคร่งครัด แต่มีแนวโน้มที่จะลดขนาดไฟล์ของภาพเคลื่อนไหวที่เกิดขึ้นโดยปรับเฟรมให้เหมาะสมเพื่อหลีกเลี่ยงการวาดส่วนที่คงที่ของภาพเคลื่อนไหว)

สำหรับการสาธิตนี่เป็นภาพเคลื่อนไหวของเอนไซม์ glyoxalase I (GLO1) ของมนุษย์จาก Wikimedia Commons (ซ้าย) และภาพเคลื่อนไหวเดียวกันที่เพิ่มความโปร่งใสโดยใช้วิธีการที่แสดงด้านบน (ขวา):

ภาพเคลื่อนไหวต้นฉบับพร้อมพื้นหลังสีขาว ภาพเคลื่อนไหวดัดแปลงด้วยพื้นหลังโปร่งใส
ภาพเคลื่อนไหวต้นฉบับโดยผู้ใช้ Wikimedia Commons WillowWใช้ภายใต้ใบอนุญาตCC-By 3.0

รายละเอียดที่ควรสังเกตคือถ้าคำสั่ง GIFsicle ไม่มีผลใด ๆ คุณควรตรวจสอบว่าสีพื้นหลังนั้นถูกต้องจริงๆ ตัวอย่างเช่นสำหรับภาพเคลื่อนไหวที่แสดงข้างต้นสีพื้นหลังที่เกิดขึ้นจริงเปิดออกมาเป็น#fdfffc(เช่นมากเล็กน้อยสีเหลืองสีเขียวสีขาว) มากกว่า#ffffff(สีขาวบริสุทธิ์) คุณไม่สามารถบอกความแตกต่างได้ด้วยตาเปล่า (หรืออย่างน้อยฉันก็ไม่สามารถทำได้บนหน้าจอนี้) แต่ก็เพียงพอที่จะทำให้ GIFsicle พิจารณาสองสีที่แตกต่างกัน

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


คุณมีซอฟต์แวร์ทางเลือกที่เป็นมิตรกับ Windows 7 สำหรับ gifsicle ที่ฉันสามารถใช้แทนได้หรือไม่? ฉันได้ลองติดตั้ง Win32 และไบนารี 64 (ฉันใช้ 64 บิต Windows 7 จากลิงค์บนเว็บไซต์ทางการของ gifsicle) และไม่ได้ทำงาน มันเพิ่งโผล่พรอมต์คำสั่งสำหรับวินาทีแล้วปิดพรอมต์นี้ ฉันได้เปิดพรอมต์คำสั่งขึ้นมา (เนื่องจากฉันเข้าใจว่า gifsicle เป็นตัวแก้ไขบรรทัดคำสั่ง) และคัดลอกคำสั่งของคุณใน (ด้วยชื่อไฟล์จริง, ofc) และให้ไฟล์ null พร้อมคำเตือนว่า gifsicle นั้นไม่รู้จัก ในระบบของฉัน
BH2017

คุณได้ลองใช้คำสั่งพรอมต์และระบุเส้นทางแบบเต็มไปยัง gifsicle.exe หรือไม่ หรือcdไปยังโฟลเดอร์ที่คุณติดตั้ง gifsicle แล้วเรียกใช้คำสั่งจากที่นั่น หรือเพิ่มโฟลเดอร์นั้นในของคุณ%PATH% ?
Ilmari Karonen

cd- ไปยังไดเรกทอรีการรันคำสั่งนั้นทำงานได้อย่างสมบูรณ์โดยไม่ต้องมี hitch ดังนั้นฉันจะยอมรับคำตอบของคุณ
BH2017


1

เช่นเดียวกับ GIFsicle และ GIFmagic EzGIFเป็นชุดเครื่องมือออนไลน์ GIF ที่คุณสามารถทำได้:

  1. เลือก "เอฟเฟกต์"
  2. อัปโหลด GIF
  3. จากนั้นใช้ช่อง "แทนที่สีด้วยความโปร่งใส"
  4. และนำไปใช้

(จากนั้นคุณสามารถปรับผลลัพธ์ให้เหมาะสมหากคุณต้องการ)


0

หากคุณมี imagemagick คุณสามารถเรียกใช้คำสั่งconvert input.gif -transparent white output.gifในสถานี


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

0

คุณสามารถทำได้โดยตรงจาก photoshop

ใช้ตัวเลือก 'บันทึกไปยังเว็บ' และบันทึกเป็น GIF อย่างโปร่งใส ค้นหาสีที่คุณต้องการให้โปร่งใสจากตารางสี คลิกที่มันแล้วคลิกปุ่มที่ฉันได้วงกลมเป็นสีแดง

ความโปร่งใสของตารางสี

สิ่งนี้จะทำให้สีใดก็ตามที่คุณเลือกโปร่งใส บันทึก

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