รูปแบบใดจะดีกว่าสำหรับการบันทึกรูปภาพสำหรับเว็บไซต์ PNG หรือ SVG?


29

เมื่อส่งออก / บันทึกภาพที่มีพื้นหลังโปร่งใสที่มีไว้สำหรับเว็บไซต์ฉันควรบันทึกเป็น PNG หรือ SVG หรือไม่ ทำไม?


คำตอบ:


8

ฉันจะบอกว่า PNG เพียงเพราะดูเหมือนว่าจะเป็นรูปแบบที่ยอมรับได้มากกว่า SVG


3
สำหรับ SVG ที่มีคุณภาพดีกว่า แต่ในทางปฏิบัติโซลูชันที่แท้จริงเพียงอย่างเดียวคือ PNG เนื่องจาก SVG ไม่ได้รับการสนับสนุนทั่วโลกในวันที่ปัจจุบัน
Littlemad

@ Littlemad การแสดงผลและการแสดง SVG นั้นช้ากว่าเพียงแค่ทำให้ภาพเบลอด้วย PNG
Mateen Ulhaq

1
@ Littlemad คุณไม่จำเป็นต้องทำ คุณสามารถใช้วิธีแก้ปัญหา VML สำหรับ IE <9 หรือคุณสามารถสร้างการแสดงผลล่วงหน้าบนเซิร์ฟเวอร์หรือใช้การฝังแบบแฟลชที่แสดงผลบน IE เบราว์เซอร์ทั้งหมด (อย่างน้อยที่สำคัญ) สนับสนุน SVG เฉพาะ IE 6, 7 และ 8 เท่านั้นที่เป็น f * cking กับเรา ดังนั้นให้ใช้วิธีแก้ปัญหาที่ไม่น่ากลัวหากพวกเขาเห็นไซต์ที่แย่กว่านั่นคือความผิดของพวกเขา มันเหมือน SDTV กับ HDTV หรือ DVD กับ BluRay
Camilo Martin

1
ในปี 2014 คำตอบนี้น่าจะเป็นประโยชน์ต่อ SVG แทน
ฮันนา

1
2015 caniuse.com/#search=svg - โดยทั่วไปไม่มี IE8
goodship11

18

คำตอบง่ายๆที่นี่ใช้ทั้งคู่

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

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

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

การชั่งน้ำหนักซึ่งกันและกัน PNG จะได้รับการสนับสนุนอย่างแน่นอนจากเบราว์เซอร์มากกว่า SVG ณ เวลาปัจจุบันแต่ความละเอียดของอุปกรณ์ที่เพิ่งเปิดตัวเพิ่มขึ้นเรื่อย ๆ หมายความว่า PNG จะต้องได้รับการแสดงบนพื้นฐานของความละเอียดที่หลากหลาย(ผ่าน Media Queries, JavaScript หรือ User Agent Sniffing)หรือปรับขนาดโดยเบราว์เซอร์ซึ่งอาจให้ผลลัพธ์ที่ไม่สมบูรณ์

ดูสิ่งที่เรารู้ในอนาคต ความละเอียดที่สูงขึ้นตลอดไปการสนับสนุนที่กว้างขึ้นและการใช้ SVG ที่กว้างขึ้นผ่านอินเทอร์เน็ต มันสมเหตุสมผลที่จะสร้างสิ่งที่กำลังจะมาถึง

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


ทางเลือกของคุณในเดือนพฤศจิกายน 2014

  1. PNG เท่านั้น

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

    • หากคุณเลือกที่จะให้บริการกราฟิกเดียวและมีการปรับขนาดเบราว์เซอร์ผลลัพธ์อาจจะน้อยกว่าที่สมบูรณ์แบบและอาจน่าเกลียดขึ้นอยู่กับปริมาณของการปรับขนาด

    • คำสั่งสื่อจำนวนมากสามารถขยาย CSS และส่งผลเสียต่อความเร็วในการโหลดหน้าเว็บโดยไม่จำเป็น

    • จะดูดีสำหรับเบราว์เซอร์และอุปกรณ์รุ่นเก่า แต่จะไม่ดีสำหรับเบราว์เซอร์รุ่นใหม่

  2. SVGs พร้อมทางเลือก PNG / JPEG / GIF เดี่ยว

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

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

    • การดำเนินการนี้จะใช้เวลาในการดำเนินการคล้ายกันเนื่องจาก PNG เป็นเพียงการสืบค้นสื่อ - อาจน้อยกว่าซึ่งหมายความว่าอาจมีราคาใกล้เคียงกัน

    • จะดูดีในอุปกรณ์ใหม่ทั้งหมดพร้อมกับการเสียสละที่ทำกับเทคโนโลยีเก่า

  3. SVG ที่มีตัวเลือก PNG / JPEG / GIF หลายทางเลือกขึ้นอยู่กับความละเอียดและขนาดหน้าจอ

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

    • มันอาจจะใช้เวลานานเท่าที่ 1 & 2 รวมกันรวมทั้งเพิ่มเล็กน้อยสำหรับการออกกำลังกาย kinks

    • จะดูน่าทึ่งในเกือบทุกอุปกรณ์


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


1
คุณอาจพูดถึงบางอย่างเกี่ยวกับ<picture>องค์ประกอบที่ช่วยเหลือด้วยขนาดภาพที่ต่างกัน
Zach Saucier

15

SVG สามารถปรับขนาดได้หากคุณมีกราฟิกแบบเวกเตอร์ที่เป็นข้อได้เปรียบที่ชัดเจน สำหรับพิกเซลกราฟิกส์ PNG นั้นดีกว่า ข้อเสียคือว่า Internet Explorer รองรับ SVG เฉพาะกับรุ่นที่กำลังจะมา 9 (ก่อนที่มีปลั๊กอิน) เบราว์เซอร์มือถืออาจมีการรองรับ SVG จำกัด

แก้ไข : ตามที่ ClemDesm ชี้ให้เห็น IE เวอร์ชันเก่ากว่านั้นไม่รองรับ PNG แบบโปร่งใสทั้งหมดเนื่องจาก IE8 ที่รองรับ PNG ที่ไม่โปร่งใสทำงานได้ดี คำตอบของ Computerish มีทางออกที่ดีสำหรับการจัดการภาพเวกเตอร์ในตอนนี้: คงไว้เป็น SVG แต่ส่งออกเป็นเว็บเป็น PNG ฉันเห็นด้วยกับวิธีนี้อย่างเต็มที่


-1 Svg ยังไม่รองรับทั่วโลกฉันจะไม่แนะนำให้ใช้ถ้าคุณไม่อธิบายอย่างชัดเจนว่าทำงานที่ไหนและเป็นทางเลือกอื่นในกรณีที่มันไม่ทำงาน (เป็นไปได้มากที่สุด) เราต้องพิจารณามาตรฐานเว็บที่เราพยายามทำ หากมีตัวเลือกสำหรับเว็บและสำหรับ PNG หรือ SVG ก็ควรเป็น PNG เสมอจนกว่า SVG จะได้รับการสนับสนุนทั่วโลกโดยเบราว์เซอร์รุ่นเก่ากว่า ฉันชอบที่จะใช้ความสมบูรณ์แบบ SVG แต่ยังไม่เป็นความจริง
Littlemad

ดังที่ฉันเขียน IE ไม่มีการสนับสนุน SVG (เฉพาะในปัจจุบันจนถึงรุ่นอนาคต 9) และเบราว์เซอร์มือถืออาจขาดการสนับสนุนเช่นกัน
Mnementh

@ Littlemad: downvote นั้นเล็กนิดหน่อยตั้งแต่ 1- คำตอบบอกเราว่ามันไม่ได้รับการสนับสนุนอย่างเต็มที่ (โอเคไม่ได้รายละเอียดมาก แต่มันบอกและไม่ผิดไม่สมควร -1) 2- PNG alpha channel ไม่รองรับ IE6 & 7 เช่นกันและไม่ใช่คำที่ใช่หรือไม่ :)
Shikiryu

@ClemDesm: อ่าคำแนะนำที่ดี IE ที่เก่ากว่าไม่รองรับ PNG แบบโปร่งใสอย่างสมบูรณ์
Mnementh

1
@Littlemad "ไม่รองรับเบราว์เซอร์รุ่นล่าสุดหลายตัว" ซึ่งดูเหมือนจะเป็นข้อสรุปที่ผิดเนื่องจากในการอ้างอิงที่เชื่อมโยงมีเบราว์เซอร์เดียวเท่านั้นซึ่งไม่สามารถจัดการ SVG (IE8) ได้ คุณไม่จำเป็นต้องติดตั้งปลั๊กอินเพื่อใช้งาน SVG (ไม่เคยเห็นมาก่อนอาจจะเป็น IE6) สิ่งที่คุณเห็นเป็นสีแดงในการอ้างอิงที่เชื่อมโยงเป็นส่วนหนึ่งของ SVG ซึ่งส่วนใหญ่คุณจะไม่ใช้ (ส่วนใหญ่เป็นตัวกรองหรือลักษณะพิเศษอื่น ๆ ) พื้นฐานใช้งานได้
feeela

5

ใช้ PNG อย่างแน่นอนสำหรับเว็บไซต์ SVG ไม่ได้รับการสนับสนุนอย่างกว้างขวางเพียงพอและมีประโยชน์น้อยมาก (ถ้ามี) สำหรับ PNG สำหรับการส่งออกที่แบน ที่กล่าวไว้เก็บสำเนาการทำงานทั้งหมดของคุณใน SVG


1
ทางออกที่ดีในการรักษาต้นฉบับเป็น SVG และส่งออกไปยัง PNG สำหรับเว็บ หากรองรับ SVG ที่ดีขึ้นในภายหลังคุณสามารถเปลี่ยนได้ ฉันจะแนะนำวิธีแก้ปัญหาสำหรับภาพเวกเตอร์นั้น
Mnementh

2
"มันมีประโยชน์น้อยมาก (ถ้ามี) มากกว่า PNG" อะไรนะ? คุณจัดการ PNG ผ่าน CSS หรือ JavaScript ได้อย่างไร คุณปรับขนาดได้อย่างไรโดยไม่ลดความละเอียดลง คุณจะเชื่อมโยงส่วนต่าง ๆ ของภาพได้อย่างไร (เช่น country-link บนแผนที่) โดยทั่วไปแล้วไฟล์ SVG จะเล็กกว่า PNG (ยกเว้นไอคอนเล็ก ๆ )
feeela

3
SVG มีข้อได้เปรียบเหนือ PNG มากมายสำหรับภาพประกอบแบบเวกเตอร์
DA01

0

ฉันจะติดกับ PNG ที่จะอยู่ในด้านความปลอดภัย SVG ยังไม่ได้รับการยอมรับอย่างเต็มที่จาก บริษัท อินเทอร์เน็ตและเบราว์เซอร์ขนาดใหญ่หลายแห่ง แม้ว่า SVG นั้นสามารถปรับขนาดได้และเป็นเวกเตอร์ที่ไม่จำเป็น แต่ก็ต้องใช้พื้นที่มากขึ้นและทำให้ซับซ้อนเว็บไซต์มากขึ้น

ฉันหวังว่าจะตอบคำถามของคุณ :)


"ใช้พื้นที่มากขึ้นและซับซ้อนเกินไป" หรือไม่ งั้นเหรอ
DA01

1
ฉันค่อนข้างแน่ใจว่ามันอาจส่งผลกระทบต่อ SEO ของคุณเนื่องจากรูปภาพของคุณอาจไม่ปรากฏบน Google และฉันไม่แน่ใจ 100% แต่บ่อยครั้งที่กรณีที่ SVG ใช้เวลาโหลดนาน
nicolos

2
เวลาในการโหลดขึ้นอยู่กับขนาดไฟล์ซึ่ง SVG มักจะมีขนาดเล็กกว่ามาก และหากการค้นหารูปภาพของ Google เป็นสิ่งสำคัญสำหรับ SEO ของเว็บไซต์ของคุณใช่ PNG อาจดีกว่า แต่ฉันคิดว่านั่นเป็นเรื่องเฉพาะ
DA01

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

-1

แม้ว่า SVG จะไม่ได้รับการยอมรับทั่วโลกและบางคนมี PNGs ที่น่าผิดหวัง แต่ฉันก็พบว่าการสร้างไอคอนภายใน Adobe Illustrator นั้นทำได้ดีที่สุดในการปรับขนาดขึ้นหรือลงในระดับ "สมเหตุสมผล"


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