JPEG vs PNG vs BMP vs GIF vs SVG


40

Tôi muốn biết một trong những định dạng này cần ít bộ nhớ hơn cho cùng chất lượng của hình ảnh và sự khác biệt chính giữa các định dạng này là gì.


15
Cả Btw, JPG và JPEG đều đề cập đến cùng một thứ (xem ví dụ en.wikipedia.org/wiki/JPEG ) để tiêu đề có thể được đơn giản hóa một chút.
Jonik

1
Không chắc câu trả lời của tôi không trả lời câu hỏi ban đầu của bạn như thế nào và câu trả lời bạn chọn không ...? : - /
Django Reinhardt

4
> một trong những định dạng này đòi hỏi ít bộ nhớ hơn Um, hãy xác định ít bộ nhớ hơn. Bạn có nghĩa là nó chiếm ít không gian đĩa? (JPEG cho ảnh, PNG và / hoặc GIF cho ảnh chụp màn hình.) Ý bạn là tệp nén chiếm ít dung lượng bộ nhớ hơn? (. Tương tự như không gian đĩa) Bạn có nghĩa là hình ảnh giải mã mất ít không gian trong bộ nhớ ( Không ; họ là tất cả về cơ bản tương tự khi giải mã để nguyên.)
Synetech

Câu trả lời:


54

Từ sự khác biệt giữa TIFF, GIF, JPG, JPEG, PNG và tệp BMP là gì?

BMP - Bitmap. Đây có lẽ là loại định dạng hình ảnh kỹ thuật số đầu tiên mà tôi có thể nhớ. Mỗi hình ảnh trên máy tính dường như ngày đó là BMP. Trong Windows XP, chương trình Paint tự động lưu hình ảnh của nó trong BMP. Tuy nhiên, trong Windows Vista và các hình ảnh mới hơn hiện được lưu vào JPEG. BMP là nền tảng cơ bản cho nhiều loại tệp khác.

JPG / JPEG - (Nhóm chuyên gia chụp ảnh chung) Định dạng Jpeg được sử dụng cho ảnh màu hoặc bất kỳ ảnh nào có nhiều pha trộn hoặc độ dốc. Nó không tốt với các cạnh sắc nét và có xu hướng làm mờ chúng một chút trừ khi được lưu trữ ở chất lượng cao. Định dạng này trở nên phổ biến với việc phát minh ra máy ảnh kỹ thuật số. Hầu hết, nếu không phải tất cả, máy ảnh kỹ thuật số tải ảnh xuống máy tính của bạn dưới dạng tệp Jpeg. Rõ ràng các nhà sản xuất máy ảnh kỹ thuật số nhìn thấy giá trị trong hình ảnh chất lượng cao mà cuối cùng chiếm ít không gian hơn.

GIF - (Định dạng trao đổi đồ họa) Định dạng Gif được sử dụng tốt nhất cho văn bản, hình vẽ đường kẻ, ảnh chụp màn hình, phim hoạt hình và hoạt hình. Gif bị giới hạn ở tổng số 256 màu hoặc ít hơn, vì vậy hình ảnh Gif tương đối nhỏ. Nó thường được sử dụng để tải trang web nhanh. Nó cũng làm cho một biểu ngữ hoặc logo tuyệt vời cho trang web của bạn. Hình ảnh hoạt hình cũng có thể được lưu ở định dạng GIF dưới dạng một chuỗi các hình ảnh tĩnh. Ví dụ: một biểu ngữ nhấp nháy sẽ được lưu dưới dạng tệp Gif.

PNG - (Đồ họa mạng di động) Định dạng lossless này là một trong những định dạng hình ảnh tốt nhất. Nó không phải lúc nào cũng tương thích với tất cả các trình duyệt web hoặc phần mềm hình ảnh, nhưng ngày nay nó là định dạng hình ảnh tốt nhất để sử dụng cho trang web. Tôi sử dụng .png cho logo và ảnh chụp màn hình. Một trong những khả năng đáng kinh ngạc nhất của nó là có thể nén hình ảnh một cách dễ dàng (không mất pixel), mặc dù kích thước nén cuối cùng khác nhau giữa các trình chỉnh sửa hình ảnh.

TIFF - (Định dạng tệp hình ảnh được gắn thẻ) Định dạng tệp này chưa được cập nhật từ năm 1992 và hiện thuộc sở hữu của Adobe. Nó có thể lưu trữ một hình ảnh và dữ liệu (thẻ) trong một tệp. TIFF có thể được nén, nhưng chính khả năng lưu trữ dữ liệu hình ảnh ở định dạng lossless khiến tệp TIFF trở thành kho lưu trữ hình ảnh hữu ích, vì không giống như các tệp JPEG tiêu chuẩn, tệp TIFF sử dụng nén không mất dữ liệu (hoặc không có) có thể được chỉnh sửa và tái Được lưu mà không làm giảm chất lượng hình ảnh. Tập tin này thường được sử dụng để quét, fax, xử lý văn bản, v.v. Nó không còn là định dạng tệp phổ biến để sử dụng với ảnh kỹ thuật số của bạn, vì jpeg có chất lượng tuyệt vời và chiếm ít không gian hơn.


1
Xin lưu ý rằng không có "hack" các loại, IE6 vẫn không hỗ trợ độ trong suốt alpha trong các tệp PNG, tức là các vùng trong suốt bị mờ đục
Josh Comley

2
... Và một lượng người đáng ngạc nhiên vẫn sử dụng IE6 ( tinyurl.com/56kp ). MS muốn hỗ trợ nó cho đến năm 2014! :( ( tinyurl.com/qvdyn5 )
Josh Comley

9
BMP: Đây không phải là cơ sở cho các định dạng tệp khác. Theo như tôi biết thì tiêu đề và cấu trúc tệp BMP không được chia sẻ với các định dạng khác (ví dụ như trái với TIFF). JPEG: Nó được tạo ra và tồn tại trên web trước khi máy ảnh kỹ thuật số trở nên thịnh hành. Ngoài ra, nhiều máy ảnh kỹ thuật số cho phép lưu định dạng "thô" thường là TIFF, mặc dù có nội dung dành riêng cho nhà cung cấp. GIF: Không bị giới hạn ở 256 màu trên mỗi hình ảnh, chỉ ở 256 màu trên mỗi khung hình (xem en.wikipedia.org/wiki/Graphics_Interchange_Format#True_color ).
Joey

4
TIFF: Định dạng tệp và vùng chứa phổ biến cho hình ảnh thô từ máy ảnh kỹ thuật số (loại không phải là ngắm và chụp). TIFF cho phép dữ liệu gần như tùy ý (do đó được gắn thẻ ), điều đó cũng có nghĩa là nó hỗ trợ các phương thức nén tùy ý từ LZW (GIF), LZ77 (PNG) sang JPEG và các phương pháp khác. Ngoài ra TIFF cho phép nhiều hình ảnh (trang) trong một tệp.
Joey

4
Mặc dù câu trả lời rất tốt trong việc trả lời sự khác biệt của các định dạng hình ảnh về lịch sử và cách sử dụng chung, câu trả lời ban đầu hỏi về kích thước và chất lượng tương đối ...
camster342

76

Theo kiểu xkcd từ lbrandy.com :

văn bản thay thế


4
Minh họa điểm độc đáo :) (ngay cả khi tôi chưa từng thấy ai ủng hộ chính sách 'Luôn luôn JPEG!')
Jonik

7
+1 Vì hình ảnh này minh họa vấn đề jpeg rất tốt ...
Johan

5
Tôi ước tôi có thể tăng gấp đôi! Tôi gửi nó cho tất cả những người gửi cho tôi jpegs crappy!
Tim Büthe

3
© 2008 Louis Brandy. Đã đăng ký Bản quyền....?
Arjan

3
Ví dụ, Facebook có chính sách 'Luôn JPEG' này. Tôi tải lên một hình ảnh PNG lossless 99 KB đẹp mắt và Facebook chuyển đổi nó thành một JPEG 175 KB xấu xí.
Paul

63

Bạn nên chú ý đến một vài yếu tố chính ...

Đầu tiên, có hai loại nén: Mất mátMất mát .

  • Lossless có nghĩa là hình ảnh được làm nhỏ hơn, nhưng không ảnh hưởng đến chất lượng.
  • Mất mát có nghĩa là hình ảnh được làm cho (thậm chí) nhỏ hơn, nhưng có hại cho chất lượng. Nếu bạn đã lưu hình ảnh ở định dạng Mất nhiều lần, chất lượng hình ảnh sẽ ngày càng tệ hơn.

Ngoài ra còn có các độ sâu màu khác nhau (bảng màu): Màu được lập chỉ mụcMàu trực tiếp .

  • Được lập chỉ mục có nghĩa là hình ảnh chỉ có thể lưu trữ một số lượng màu giới hạn (thường là 256), do tác giả kiểm soát, trong một thứ gọi là Bản đồ màu
  • Trực tiếp có nghĩa là bạn có thể lưu trữ hàng ngàn màu mà chưa được tác giả chọn trực tiếp

BMP - Không tổn thất / Lập chỉ mục và Trực tiếp

Đây là một định dạng cũ. Đó là lossless (không có dữ liệu hình ảnh nào bị mất khi lưu) nhưng cũng không có chút nén nào, nghĩa là tiết kiệm vì BMP dẫn đến kích thước tệp RẤT lớn. Nó có thể có các bảng màu của cả Index và Direct, nhưng đó là một sự an ủi nhỏ. Kích thước tệp quá lớn không cần thiết đến nỗi không ai thực sự sử dụng định dạng này.

Tốt cho: Không có gì thực sự. Không có bất cứ điều gì BMP vượt trội, hoặc không được thực hiện tốt hơn bởi các định dạng khác.

BMP vs GIF


GIF - Chỉ mất / Chỉ mục

GIF sử dụng nén không mất dữ liệu, nghĩa là bạn có thể lưu hình ảnh nhiều lần và không bao giờ mất bất kỳ dữ liệu nào. Kích thước tệp nhỏ hơn nhiều so với BMP, vì thực sự sử dụng nén tốt, nhưng nó chỉ có thể lưu trữ một bảng Chỉ mục. Điều này có nghĩa là đối với hầu hết các trường hợp sử dụng , chỉ có thể có tối đa 256 màu khác nhau trong tệp. Nghe có vẻ như một lượng khá nhỏ, và nó là.

Hình ảnh GIF cũng có thể được hoạt hình và có tính minh bạch.

Tốt cho: Logo, bản vẽ đường và các hình ảnh đơn giản khác cần phải nhỏ. Chỉ thực sự được sử dụng cho các trang web.

GIF vs JPEG


JPEG - Mất / Trực tiếp

Hình ảnh JPEG được thiết kế để làm cho hình ảnh chụp chi tiết càng nhỏ càng tốt bằng cách xóa thông tin mà mắt người sẽ không nhận thấy. Kết quả là định dạng Mất dữ liệu và việc lưu cùng một tệp nhiều lần sẽ dẫn đến việc mất nhiều dữ liệu hơn theo thời gian. Nó có một bảng màu gồm hàng ngàn màu và rất tuyệt cho các bức ảnh, nhưng việc nén mất dữ liệu có nghĩa là nó không tốt cho logo và hình vẽ đường kẻ: Không chỉ chúng trông mờ, mà những hình ảnh như vậy cũng sẽ có kích thước tệp lớn hơn so với GIF!

Tốt cho: Hình ảnh. Ngoài ra, độ dốc.

JPEG vs GIF


PNG-8 - Không mất dữ liệu / Được lập chỉ mục

PNG là định dạng mới hơn và PNG-8 (phiên bản được lập chỉ mục của PNG) thực sự là một sự thay thế tốt cho GIF. Tuy nhiên, thật đáng buồn, nó có một vài nhược điểm: Thứ nhất, nó không thể hỗ trợ hoạt hình như GIF có thể (cũng có thể, nhưng chỉ Firefox dường như hỗ trợ nó, không giống như hoạt hình GIF được hỗ trợ bởi mọi trình duyệt). Thứ hai, nó có một số vấn đề hỗ trợ với các trình duyệt cũ hơn như IE6. Thứ ba, phần mềm quan trọng như Photoshop có định dạng rất kém. (Chết tiệt, Adobe!) PNG-8 chỉ có thể lưu trữ 256 màu, như GIF.

Tốt cho: Điều chính mà PNG-8 làm tốt hơn GIF là có hỗ trợ Alpha Trans minh bạch.

PNG-8 vs GIF

Lưu ý quan trọng: Photoshop không hỗ trợ Alpha Trans minh cho các tệp PNG-8. (Chết tiệt, Photoshop!) Tuy nhiên, có nhiều cách để chuyển đổi các tệp Photoshop PNG-24 thành PNG-8 trong khi vẫn giữ được độ trong suốt của chúng. Một phương pháp là PNGQuant , một phương pháp khác là lưu các tệp của bạn bằng Pháo hoa .


PNG-24 - Không mất dữ liệu / Trực tiếp

PNG-24 là một định dạng tuyệt vời kết hợp mã hóa lossless với màu Direct (hàng nghìn màu, giống như JPEG). Nó rất giống với BMP về vấn đề đó, ngoại trừ việc PNG thực sự nén hình ảnh, do đó, nó dẫn đến các tệp nhỏ hơn nhiều. Thật không may, các tệp PNG-24 vẫn sẽ lớn hơn nhiều so với JPEG, GIF và PNG-8, vì vậy bạn vẫn cần xem xét nếu bạn thực sự muốn sử dụng một tệp.

Mặc dù PNG-24 cho phép hàng ngàn màu trong khi nén, chúng không có ý định thay thế hình ảnh JPEG. Một bức ảnh được lưu dưới dạng PNG-24 có thể sẽ lớn hơn ít nhất 5 lần so với ảnh JPEG tương đương, với rất ít sự cải thiện về chất lượng hiển thị. (Tất nhiên, đây có thể là một kết quả mong muốn nếu bạn không quan tâm đến kích thước tệp và muốn có được hình ảnh chất lượng tốt nhất có thể.)

Giống như PNG-8, PNG-24 cũng hỗ trợ độ trong suốt alpha.


SVG - Tổn thất / Vector

Một loại tệp hiện đang phát triển phổ biến là SVG, khác với tất cả các loại ở trên, đó là định dạng tệp vectơ (ở trên đều là raster ). Điều này có nghĩa là nó thực sự bao gồm các đường và đường cong thay vì pixel. Khi bạn phóng to hình ảnh vector, bạn vẫn thấy một đường cong hoặc đường thẳng. Khi bạn phóng to hình ảnh raster, bạn sẽ thấy pixel.

Ví dụ:

PNG vs SVG

SVG vs PNG

Điều này có nghĩa là SVG hoàn hảo cho các logo và biểu tượng bạn muốn giữ lại độ sắc nét trên màn hình Retina hoặc ở các kích cỡ khác nhau.

Ngoài ra, các tệp SVG được viết bằng XML và do đó, có thể được mở và chỉnh sửa trong trình soạn thảo văn bản, để có thể thao tác nhanh chóng nếu bạn muốn. Ví dụ: bạn có thể sử dụng JavaScript để thay đổi màu sắc của biểu tượng SVG trên trang web giống như bạn muốn một số văn bản (nghĩa là không cần hình ảnh thứ hai).

Tôi hy vọng điều đó sẽ giúp!


Minh họa tốt. Xem ra cho các tạo tác gây ra bởi nén. Tôi nghĩ rằng JPEG như các định dạng nén video có vấn đề trong đó các vùng màu đỏ sẽ có xu hướng "chảy máu" ở các cạnh.
James P.

1
Bạn đã sai về PNG không hỗ trợ hoạt hình. PNG có thể làm tốt, hầu hết người xem và trình duyệt không hỗ trợ. vi.wikipedia.org/wiki/APNG Firefox hỗ trợ nó khá tốt, có vẻ như vậy. people.mozilla.com/~dolske/apng/demo.html
Rob

1
@DjangoReinhardt Tôi biết bạn đã đưa một ví dụ vào câu trả lời của mình, nhưng theo như SVGs và PNG có liên quan, trong trường hợp nào chúng ta có thể thấy một SVG lớn hơn (về kích thước tệp) so với PNG?
Hanna

1
@Johannes Câu hỏi tuyệt vời. Có một số nhược điểm đối với SVG, đặc biệt là nếu chúng đặc biệt phức tạp (hoặc bị lưu rất tệ - nhưng đó là lỗi của tác giả, không phải định dạng tệp). Tôi sẽ thử và thêm một cái gì đó trả lời điều này - mặc dù tôi nghi ngờ rằng một SVG sẽ luôn nhỏ hơn (hoặc bằng kích thước) với PNG.
Django Reinhardt

1
Một thông tin thú vị khác: Các tệp BMP có kích thước tương tự PNG nếu bạn nén chúng.
jiggunjer

28

Các câu trả lời hiện có bao gồm rất ít dữ liệu kỹ thuật, vì vậy tôi sẽ đưa nó vào đây.

  • JPEG : màu tối đa 24 bit (có thể nhiều hơn?), Nén (thường cao), mất dữ liệu, không hỗ trợ alpha
  • PNG : màu lên tới 48 bit, nén vừa phải, không mất dữ liệu, hỗ trợ alpha
  • BMP : tối đa 24 bit, nén rất ít, không mất dữ liệu, hỗ trợ alpha
  • GIF : màu tối đa 8 bit, ít nén, không mất dữ liệu, hỗ trợ trong suốt, hỗ trợ hình ảnh động

Độ đậm của màu

  • Màu 8 bit == 256 màu
  • Màu 24 bit == 16.777.216 màu
  • Màu 48 bit == 281,474,976,710,656 màu

Hầu hết các màn hình máy tính chạy ở độ sâu màu 24 bit. Mắt người có thể phân biệt được nhiều màu sắc. Độ sâu màu bổ sung chủ yếu là để có thể giữ lại thông tin từ cảm biến để thao tác chụp ảnh có nhiều dữ liệu hơn để làm việc. Cố gắng thể hiện một bức ảnh với màu 8 bit sẽ dẫn đến hiện tượng nhiễu hạt.

Nén

Điều này về cơ bản đề cập đến mức độ lớn của tập tin cuối cùng. Nén nhiều hơn bằng một tập tin nhỏ hơn. Tuy nhiên, JPEG đạt được kích thước tệp nhỏ bằng cách ném dữ liệu đi. Điều này được gọi là nén "mất mát", bởi vì bạn không bao giờ có thể lấy lại dữ liệu không nén ban đầu. Nén của nó cũng được tối ưu hóa cho các bức ảnh trong đó các cạnh có độ tương phản cao là không phổ biến. Như đã nêu trong các câu trả lời khác, đó là một lựa chọn tồi cho bất cứ thứ gì khác ngoài ảnh.

Alpha / Minh bạch

Alpha đề cập đến tính minh bạch, nhưng nó ngụ ý rằng có nhiều hơn một mức độ minh bạch. GIF có khả năng xác định các pixel trong suốt, nhưng nó mờ hoặc trong suốt 100% và "trong suốt" được sử dụng làm một trong 256 màu. PNG và BMP có khả năng đánh dấu từng pixel là mờ, trong suốt hoặc một phần trong suốt, giống như một mảnh kính màu. Thông thường nhất, có 256 mức độ trong suốt, mặc dù PNG thực sự có thể có tới 65.536 cấp độ. JPEG không hỗ trợ độ trong suốt.

Hoạt hình

Thực tế, trong các định dạng này, chỉ GIF có bất kỳ hỗ trợ nào cho hoạt hình. Có các thông số kỹ thuật cho hoạt hình với PNG (MNG, APNG) và JPEG (MJPEG), nhưng chúng không được hỗ trợ rộng rãi. (APNG hoạt động trong các phiên bản gần đây của Firefox và Opera.) Trong thực tế, hầu hết các hoạt hình bạn thấy trên các trang web đều được triển khai trong Flash.


APNG đang đạt được rất nhiều sự hỗ trợ.
Phoshi

Đảm bảo đủ. Tôi đã không nhận thấy.
wfaulk

Chà, hầu hết các trình duyệt hiện đại đều hỗ trợ nó, nhưng nó ít được biết đến. IE8 không hỗ trợ nó, tôi không nghĩ (nhưng có thể đọc nó dưới dạng PNG, vì vậy sẽ hiển thị khung đầu tiên)
Phoshi

Xử lý suy nghĩ tuyệt vời ..
InfantPro'Aravind '

25
  • Sử dụng GIF nếu hình ảnh có ít màu (như biểu tượng). Cũng có thể được sử dụng cho hình ảnh hoạt hình (như biểu ngữ quảng cáo).
  • Sử dụng JPG nếu hình ảnh có nhiều màu (như ảnh). JPEG là điều tương tự.
  • Sử dụng BMP nếu bạn muốn lưu hình ảnh mà không cần nén. Kích thước tập tin lớn hơn nhiều!
  • Sử dụng PNG nếu bạn muốn xuất bản hình ảnh trên web và cập nhật các tiêu chuẩn hiện đại. Ưu điểm: Thích hợp thay thế hiện đại cho cả GIF và JPG, và là một tiêu chuẩn mở và cho phép minh bạch. Nhược điểm: Không được phần mềm cũ hỗ trợ và kích thước tệp có thể lớn hơn GIF hoặc JPG tương đương.

3
+1 để xem xét thực tế khi nào nên sử dụng mỗi.
Andrew Coleson

4
Hãy cẩn thận về việc sử dụng PNG. Là một định dạng lossless, chúng thường không phù hợp với ảnh và tương tự, do kích thước tệp. Chắc chắn không phải là một "sự thay thế hiện đại" cho tất cả các mục đích. Chuyển mã từ JPG sang PNG sẽ thực sự ngu ngốc.
Paul McMillan

@Paul - Tôi đồng ý, nó chắc chắn không hữu ích cho tất cả các mục đích và đặc biệt không phải cho ảnh, nhưng khi được sử dụng cho đồ họa web, nó sẽ thay thế JPG.
Torben Gundtofte-Bruun

2
Tôi không nghĩ rằng ngày nay cần phải có BPM.
Arjan

1
PNG hầu như luôn nhỏ hơn GIF. Nó có sơ đồ nén vượt trội. Khi nó lớn hơn GIF trông giống nhau, thường là lỗi của phần mềm tệ hại (ví dụ: Photoshop trước CS2). Sử dụng PNG nhạt (không phải 24 bit!) Và sửa chúng bằng trình tối ưu hóa PNG: imageoptim.yhel.net và bạn sẽ không bao giờ muốn lãng phí băng thông trên GIF nữa.
Kornel

13

nhập mô tả hình ảnh ở đây


BMP:

  • Định dạng cũ. Không mất dữ liệu.
  • Không nén - Lưu trữ giá trị của từng pixel. Do đó, hình ảnh có cùng kích thước có cùng kích thước tệp (kilobyte / megabyte). Ví dụ, hình ảnh BMP 800 × 600 luôn là 1,37 MiB giống như hình nền đồi nổi tiếng "Bliss" của WinXP.
  • Tính minh bạch / mờ không được hỗ trợ
  • Không khuyến khích cho bất cứ điều gì

JPG:

  • Nén tổn thất.
  • Số tiền mất có thể được đặt, ví dụ, trong khi tạo đồ họa & lưu trong Photoshop.
  • Lưu dưới dạng chất lượng cao hơn có nghĩa là mất ít màu sắc / độ sâu và kích thước tệp cao và ngược lại.
  • Tính minh bạch / mờ không được hỗ trợ
  • Đề xuất cho hình ảnh, không cho đồ họa / biểu tượng

PNG:

  • Nén không mất dữ liệu (vâng, tốt nhất trong cả hai WORDS / thế giới)
  • Hỗ trợ tính minh bạch VÀ độ trong suốt, cả hai đều khác nhau
  • Đề xuất cho đồ họa / biểu tượng tĩnh, không cho ảnh

QUÀ TẶNG:

  • Hỗ trợ minh bạch nhưng không mờ
  • Chỉ khuyến nghị cho đồ họa / biểu tượng ANIMATED
  • Có lẽ những bức ảnh chuyển động trong khung hình trong Harry Potter là GIF: D

1
Tổng quan đẹp. Nhưng tại sao BMP được đánh dấu là "lossless: false" trong bảng? Trong văn bản, bạn nêu chính xác IMHO rằng BMP thực sự không mất mát .
mpy

2
Tôi biết đây là một chủ đề cũ, và cảm ơn bạn đã trả lời, nhưng lưu ý rằng BMP được nén tùy chọn với một nén RLE rất đơn giản, không mất dữ liệu.
ysap

Bất kỳ lý do nào khác tại sao PNG KHÔNG được khuyến nghị cho ảnh, ngoài kích thước tệp lớn hơn so với JPEG? Trước tiên tôi đã quét các ảnh cũ của mình ở định dạng JPEG, sau đó quét lại chúng ở định dạng PNG sau khi nhận ra tôi đang quét một ảnh sẽ được lưu trữ ở định dạng mất.
JAT86

4

BMP sử dụng các bit thô với tiêu đề nhỏ hoặc Mã hóa độ dài Run . JPEG sử dụng Biến đổi Cosine rời rạc . Xem khối ở dưới cùng của các bài viết Wikipedia cho các thuật toán nén / mã hóa khác.


Tôi thích PCX. Quay trở lại khi quyết định học trình biên dịch, đối với chương trình đầu tiên của tôi, tôi đã viết một trình xem PCX. Nó khá là giáo dục. (Tôi không viết trình xem JPG). :-D
Synetech

3

Hướng dẫn đơn giản:

  • Đối với hình ảnh, sử dụng:
    • Định dạng thô dành riêng cho máy ảnh nếu bạn có thiết bị chuyên nghiệp và muốn xử lý hậu kỳ
    • JPEG khác (để xuất bản ảnh trên web, bạn cũng sẽ phải chuyển đổi định dạng thô thành JPEG)
  • Đối với bất cứ điều gì có cạnh sắc nét, đường nét và ít màu sắc (như ảnh chụp màn hình hoặc logo) sử dụng:
    • GIF nếu bạn đang làm một trang web phải hỗ trợ các trình duyệt rất cũ (chủ yếu là IE 6) hoặc nếu bạn muốn làm hoạt hình đơn giản
    • PNG khác
  • Không có lý do chính đáng để sử dụng BMP, trừ khi một chương trình cụ thể không chấp nhận các định dạng khác.

1
IE đã hỗ trợ PNG kể từ một số phiên bản 4.x (5 trên Mac), nhưng chỉ là PNG không trong suốt.
Arjan

1
IE6 thậm chí còn hỗ trợ PNG trong suốt nếu nó có độ trong suốt như GIF. Chỉ PNG với đầy đủ alpha không được hỗ trợ.
Kornel

1
Trên thực tế Alpha Trans minh IS được hỗ trợ, với điều kiện đó là PNG 8 bit. Lạ, nhưng đúng.
Django Reinhardt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.