Wiki - KEONHACAI COPA

PNG

Portable Network Graphics

Hình ảnh PNG gồm bốn viên xúc xắc có màu sắc khác nhau, được chồng lên trên nền caro. Các viên xúc xắc có độ trong suốt 8 bit, có nghĩa là chúng có thể được nhìn thấy xuyên qua nền caro. Hình ảnh này thường được sử dụng trong phần mềm đồ họa để minh họa độ trong suốt.
Phần mở rộng tên file.png
Kiểu phương tiệnimage/png
Mã loạiPNGf
PNG
Mã định danh loại thống nhất (UTI)public.png
UTI tương ứng vớipublic.image
Magic number89 50 4e 47 0d 0a 1a 0a (8 bytes Hexadecimal)
Phát triển bởiNhóm Phát triển PNG (donate cho W3C)
Phát hành lần đầu1 tháng 10 năm 1996; 27 năm trước (1996-10-01)
Kiểu định dạngLossless bitmap image format
Được mở rộng thànhAPNG, JNGMNG
Tiêu chuẩnISO/IEC 15948,[1] IETF RFC 2083
Websitelibpng.org/pub/png/

PNG (từ viết tắt trong tiếng Anh của Portable Network Graphics; chính thức đọc như "pinh")[2][3] là một dạng hình ảnh sử dụng phương pháp nén dữ liệu mới - không làm mất đi dữ liệu gốc. PNG được tạo ra nhằm cải thiện và thay thế định dạng ảnh GIF với một định dạng hình ảnh không đòi hỏi phải có giấy phép sáng chế khi sử dụng. PNG được hỗ trợ bởi thư viện tham chiếu libpng, một thư viện nền tảng độc lập bao gồm các hàm của C để quản lý các hình ảnh PNG.[4][5]

Tệp PNG có đuôi ".png" và được phân loại là "image/png".[6] PNG được công bố là RFC 2083 vào tháng 3 năm 1997 và được chính thức hóa theo tiêu chuẩn ISO/IEC 15948 vào năm 2004.[1]

Lịch sử và phát triển[sửa | sửa mã nguồn]

Động cơ thúc đẩy cho việc tạo ra định dạng PNG bắt đầu vào khoảng đầu năm 1995, sau khi Unisys công bố họ sẽ áp dụng bằng sáng chế vào thuật toán nén dữ liệu LZW- được sử dụng trong định dạng GIF. Thuật toán được bảo vệ bởi bằng công nhận độc quyền sáng tạo ở trong nước Mỹ và tất cả các nước trên thế giới. Tuy nhiên, cũng đã có một số vấn đề với định dạng GIF khi cần có một số thay đổi trên hình ảnh, nhất giới hạn của nó là 256 màu trong thời điểm máy tính có khả năng hiển thị nhiều hơn 256 màu đang trở nên phổ biến. Mặc dù định dạng GIF có thể thể hiện các hình ảnh động, song PNG vẫn được quyết định là định dạng hình ảnh đơn (chỉ có một hình duy nhất). Một người "anh em" của nó là MNG đã được tạo ra để giải quyết vấn đề ảnh động. PNG lại tăng thêm sự phổ biến của nó vào tháng 8 năm 1999, sau khi hãng Unisys huỷ bỏ giấy phép của họ đối với các lập trình viên phần mềm miễn phí, và phi thương mại.

  • Phiên bản 1.0 của đặc tả PNG được phát hành vào ngày 1 tháng 7 năm 1996, và sau đó xuất hiện vơi tư cách RFC 2083. Nó được tổ chức W3C khuyến nghị vào ngày 1 tháng 10 năm 1996.
  • Phiên bản 1.1, với một số thay đổi nhỏ và thêm vào 3 thành phần mới, được phát hành vào ngày 31 tháng 12 năm 1998.
  • Phiên bản 1.2, thêm vào một thành phần mở rộng, được phát hành vào ngày 11 tháng 8 năm 1999.
  • PNG giờ đây là một chuẩn quốc tế (ISO/IEC 15948:2003), và cũng được công bố như một khuyến nghị của W3C vào ngày 10 tháng 11 năm 2003. Phiên bản hiện tại của PNG chỉ khác chút ít so với phiên bản 1.2 và không có thêm thành phần mới nào.

Thông tin kỹ thuật[sửa | sửa mã nguồn]

Phần đầu của tập tin[sửa | sửa mã nguồn]

Một tập tin PNG bao gồm 8-byte ký hiệu (89 50 4E 47 0D 0A 1A 0A được viết trong hệ thống có cơ số 16, chứa các chữ "PNG" và 2 dấu xuống dòng,[7] ở giữa là sắp xếp theo số lượng của các thành phần, mỗi thành phần đều chứa thông tin về hình ảnh. Cấu trúc dựa trên các thành phần được thiết kế cho phép định dạng PNG có thể tương thích với các phiên bản cũ khi sử dụng.

Các "thành phần" trong tập tin[sửa | sửa mã nguồn]

PNG là cấu trúc như một chuỗi các thành phần, mỗi thành phần chứa kích thước, kiểu, dữ liệu, và mã sửa lỗi CRC ngay trong nó.

Chuỗi được gán tên bằng 4 chữ cái phân biệt chữ hoa chữ thường. Sự phân biệt này giúp bộ giải mã phát hiện bản chất của chuỗi khi nó không nhận dạng được.

Với chữ cái đầu, viết hoa thể hiện chuỗi này là thiết yếu, nếu không thì ít cần thiết hơn ancillary. Chuỗi thiết yếu chứa thông tin cần thiết để đọc được tệp và nếu bộ giải mã không nhận dạng được chuỗi thiết yếu, việc đọc tệp phải được hủy.

Thành phần cơ bản[sửa | sửa mã nguồn]

Một bộ giải mã (decoder) phải có thể thông dịch để đọc và hiển thị một tệp PNG.

  • IHDR phải là thành phần đầu tiên, nó chứa đựng header
  • PLTE chứa đựng bảng màu (danh sách các màu)
  • IDAT chứa đựng ảnh. Ảnh này có thể được chia nhỏ chứa trong nhiều phần IDAT. Điều này làm tăng kích cỡ của tệp lên một ít nhưng nó làm cho việc phát sinh ảnh PNG mượt hơn (streaming manner).
  • IEND đánh dấu điểm kết thúc của ảnh.

Ảnh động[sửa | sửa mã nguồn]

PNG không hỗ trợ ảnh động. Nhưng một định dạng khác phức tạp hơn dựa trên ý tưởng và các chunk của PNG là MNG được thiết kế cho ảnh động, tuy nhiên định dạng này không cho phép 'tương thích lùi' tức là hiển thị một ảnh trong trường hợp hệ thống không hỗ trợ được hình động. Một định dạng khác là APNG cũng dựa trên PNG hỗ trợ ảnh động và tương thích lùi, nhưng đơn giản hơn MNG. Tuy nhiên, đến thời điểm 2005 những định dạng này vẫn chưa được hỗ trợ rộng rãi.

Hỗ trợ phần mềm[sửa | sửa mã nguồn]

Định dạng PNG được hỗ trợ rộng rãi bởi nhiều ứng dụng và thư viện phần mềm. Một trong những thư viện PNG được biết đến và sử dụng rộng rãi nhất là libpng.[8] Thư viện này có sẵn miễn phí và thường được bao gồm trong các hệ điều hành miễn phí.

Hỗ trợ trình soạn thảo đồ họa bitmap cho PNG[sửa | sửa mã nguồn]

Định dạng PNG được hỗ trợ rộng rãi bởi các chương trình thiết kế đồ họa. Các chương trình phổ biến như Adobe Photoshop, Corel's Photo-Paint và Paint Shop Pro, GIMP, GraphicConverter, Helicon Filter, ImageMagick, Inkscape, IrfanView, Pixel image editor, Paint.NET, Xara Photo & Graphic Designer và nhiều chương trình khác. Một số chương trình được tích hợp sẵn với các hệ điều hành phổ biến cũng hỗ trợ PNG, bao gồm Paint của Microsoft và Photos/iPhoto và Preview của Apple.

Adobe Fireworks sử dụng định dạng tệp PNG làm định dạng tệp gốc của nó. Điều này cho phép các trình chỉnh sửa hình ảnh và tiện ích xem trước khác xem hình ảnh đã phẳng. Tuy nhiên, theo mặc định, Fireworks cũng lưu trữ siêu dữ liệu cho các lớp, hoạt hình, dữ liệu vector, văn bản và hiệu ứng. Các tệp như vậy không nên được phân phối trực tiếp vì chúng có thể gây ra các vấn đề với các trình duyệt web và các ứng dụng khác.

Hỗ trợ trình duyệt web cho PNG[sửa | sửa mã nguồn]

Hỗ trợ PNG lần đầu tiên xuất hiện vào năm 1997, trong Internet Explorer 4.0b1 (32-bit only for NT) và Netscape 4.04.[9]

Mặc dù Quỹ Phần mềm Tự do[10]Hiệp hội World Wide Web Consortium (W3C)[11][12][13] đã kêu gọi sử dụng định dạng hình ảnh PNG thay cho định dạng GIF, nhưng việc áp dụng PNG trên các trang web diễn ra khá chậm. Điều này là do trình duyệt web Internet Explorer đã hỗ trợ PNG muộn và có nhiều lỗi, đặc biệt là liên quan đến tính minh bạch.[14][15]

Trình duyệt web tương thích với PNG bao gồm: Apple Safari, Google Chrome, Mozilla Firefox, Opera, Camino, Internet Explorer, Microsoft Edge và nhiều trình duyệt khác. Để so sánh đầy đủ, hãy xem So sánh các trình duyệt web (Hỗ trợ định dạng hình ảnh).

Các phiên bản Internet Explorer (Windows) dưới 9.0 (phát hành năm 2011) có nhiều vấn đề khi hiển thị hình ảnh PNG. Các vấn đề này bao gồm:[16][17]

  • Internet Explorer 4.0 gặp sự cố khi hiển thị ảnh PNG lớn.[18][19]
  • Internet Explorer 4.0 không thể xem tệp PNG.[20][21][16]
  • Internet Explorer 5.0 và 5.01 có sự cố với tính năng OBJECT.[22]
  • Internet Explorer 5.01 in ảnh PNG với nền đen hoặc xám đậm trên Windows 98.[23]
  • Internet Explorer 6.0 không hiển thị được ảnh PNG có kích thước 4097 hoặc 4098 byte.[24][25]
  • Internet Explorer 6.0 không thể mở tệp PNG chứa nhiều khối IDAT có độ dài bằng 0.[26]
  • Internet Explorer 6.0 đôi khi không hiển thị được ảnh PNG.[27][28]
  • Internet Explorer 6.0 trở về trước không hiển thị được hình ảnh trong suốt.[29][30][31]
  • Internet Explorer 7.0 trở về trước không thể kết hợp hình ảnh trong suốt với các hiệu ứng khác.[32][33]
  • Internet Explorer 8.0 và các phiên bản cũ hơn không hiển thị màu sắc của hình ảnh chính xác..[16]
  • Internet Explorer 8.0 và các phiên bản cũ hơn không thể điều chỉnh màu sắc của hình ảnh.[16]

Hỗ trợ biểu tượng PNG trong hệ điều hành[sửa | sửa mã nguồn]

Biểu tượng PNG là một định dạng tệp đồ họa được sử dụng rộng rãi trong các hệ điều hành và môi trường máy tính để bàn. Chúng được hỗ trợ trong hầu hết các bản phân phối Linux, Windows Vista trở lên, AmigaOS 4, AROS, macOS, iOS và MorphOS. Android cũng sử dụng rộng rãi PNG.[34][35]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ a b “ISO/IEC 15948:2004 – Information technology – Computer graphics and image processing – Portable Network Graphics (PNG): Functional specification”. International Organization for Standardization. 3 tháng 3 năm 2004. Truy cập ngày 19 tháng 2 năm 2011.
  2. ^ Roelofs, Greg (29 tháng 5 năm 2010). “History of PNG”. libpng. Truy cập ngày 20 tháng 10 năm 2010.
  3. ^ “Definition of PNG noun from the Oxford Advanced Learner's Dictionary”. Oxford Learner's Dictionaries. Truy cập ngày 21 tháng 1 năm 2018.
  4. ^ Roelofs, Greg. “Web Review: PNG's NOT GIF!”. people.apache.org. Truy cập ngày 24 tháng 11 năm 2021.
  5. ^ T. Boutell; và đồng nghiệp (tháng 3 năm 1997). “PNG (Portable Network Graphics) Specification Version 1.0”. IESG. doi:10.17487/RFC2083. RFC 2083.
  6. ^ “Registration of new Media Type image/png”. IANA. 27 tháng 7 năm 1996.
  7. ^ “PNG Specification: Rationale”. www.libpng.org. Truy cập ngày 22 tháng 11 năm 2023.
  8. ^ “libpng”. Truy cập ngày 13 tháng 7 năm 2013.
  9. ^ “Use of PNG Images to Display Data”. Oregon Water Science Center. 16 tháng 2 năm 2006.
  10. ^ “Why There Are No GIF files on GNU Web Pages”. GNU Operating System. 16 tháng 12 năm 2008.
  11. ^ “PNG Fact Sheet”. World Wide Web Consortium. 7 tháng 10 năm 1996.
  12. ^ “Resource page for gif2png 2.5.11”. catb.org.
  13. ^ “Burn All GIFs”. burnallgifs.org.
  14. ^ “PNG Transparency in Internet Explorer”. PC Magazine. 5 tháng 10 năm 2004.
  15. ^ “Extensions to the PNG 1.2 Specification, version 1.5.0”. ftp-osl.osuosl.org.
  16. ^ a b c d “Browsers with PNG Support”. 14 tháng 3 năm 2009.
  17. ^ “Extensions to the PNG 1.2 Specification, Version 1.5.0”. Truy cập ngày 5 tháng 5 năm 2020.
  18. ^ “Windows Explorer Crashes When I Click on a Fireworks PNG File to View It”. Adobe Systems. 5 tháng 6 năm 2007.
  19. ^ “T.87 : Lossless and near-lossless compression of continuous-tone still images – Baseline”. International Telecommunication Union. Truy cập ngày 20 tháng 3 năm 2011.
  20. ^ “Unable to view .png images with Internet Explorer 4.0”. Microsoft Knowledge Base.
  21. ^ “PNG Specification: Rationale”. w3.org.
  22. ^ “PNGs That Are Inside of an Object Tag Print as a Negative Image”. Microsoft Knowledge Base.
  23. ^ “PNG Images Are Printed Improperly in Internet Explorer 5.01”. Microsoft Knowledge Base.
  24. ^ “You cannot view some PNG images in Internet Explorer 6”. Microsoft Knowledge Base.
  25. ^ “PNG Specification: Rationale”. w3.org.
  26. ^ “You cannot use Internet Explorer 6 to open a PNG file that contains one or more zero-length IDAT chunks”. Microsoft Knowledge Base.
  27. ^ “PNG Frequently Asked Questions”.
  28. ^ Fulbright, Michael (1999). “Snapedit.app”. Truy cập ngày 19 tháng 12 năm 2007.
  29. ^ “PhD: Portable Network Graphics Lose Transparency in Web Browser”. Microsoft Knowledge Base.
  30. ^ “PNG Files Do Not Show Transparency in Internet Explorer”. Microsoft Knowledge Base.
  31. ^ Lovitt, Michael (21 tháng 12 năm 2002). “Cross-Browser Variable Opacity with PNG: A Real Solution”. A List Apart. Bản gốc lưu trữ ngày 18 tháng 8 năm 2011. Truy cập ngày 21 tháng 7 năm 2009.
  32. ^ “IE7 alpha transparent PNG + opacity”. Channel 9. Bản gốc lưu trữ ngày 27 tháng 8 năm 2011. Truy cập ngày 23 tháng 1 năm 2009.
  33. ^ Roelofs 2003, Chapter 9. Compression and Filtering
  34. ^ Fulbright, Michael (1999). “GNOME 1.0 Library Roadmap”. Bản gốc lưu trữ ngày 30 tháng 1 năm 2010. Truy cập ngày 19 tháng 12 năm 2007.
  35. ^ “Windows Vista – Icons”. OOne. 2007. Bản gốc lưu trữ ngày 11 tháng 11 năm 2007. Truy cập ngày 12 tháng 11 năm 2007.

Liên kết ngoài[sửa | sửa mã nguồn]

libpng.org[sửa | sửa mã nguồn]

W3C[sửa | sửa mã nguồn]

Các trang khác[sửa | sửa mã nguồn]

Wiki - Keonhacai copa chuyên cung cấp kiến thức thể thao, keonhacai tỷ lệ kèo, bóng đá, khoa học, kiến thức hằng ngày được chúng tôi cập nhật mỗi ngày mà bạn có thể tìm kiếm tại đây có nguồn bài viết: https://vi.wikipedia.org/wiki/PNG