Công cụ chuyển đổi JPG sang PNG miễn phí
Chuyển đổi hình ảnh JPG sang định dạng PNG ngay lập tức với chất lượng không mất dữ liệu. Chuyển đổi hàng loạt và tải về dưới dạng ZIP.
Hỗ trợ JPG/JPEG · lên đến 50 MB mỗi tệp
"JPG sang PNG" thực sự làm gì (và không làm gì)
JPEG và PNG là đối lập gương trên trục lossless-versus-lossy. JPEG (ISO/IEC 10918-1, 1992) sử dụng nén lossy dựa trên DCT: bộ mã hóa loại bỏ dữ liệu hình ảnh mà mắt người có thể sẽ không nhận thấy để đổi lấy các tệp nhỏ hơn nhiều. PNG (IETF RFC 2083, 1996; W3C Phiên bản 3, 2023) sử dụng nén lossless DEFLATE: mỗi pixel được bảo toàn chính xác bit. Chuyển đổi JPEG sang PNG đi ngược lại với xu hướng kích thước tệp (đầu ra PNG thường lớn hơn 3-5 lần so với nguồn JPEG cho nội dung ảnh) và quan trọng không khôi phục bất kỳ chi tiết nào mà JPEG gốc đã loại bỏ. PNG trung thực bảo tồn các pixel đã lossy của JPEG: mọi tạo tác blocking, chuyển màu chroma và halo cạnh đều được nung vào đầu ra chính xác như xuất hiện trong đầu vào.
Vậy tại sao lại chuyển đổi? Bởi vì việc chuyển đổi đóng băng sự xuống cấp lossy ở mức hiện tại và cung cấp cho bạn một định dạng bảo tồn bất kỳ công việc nào tiếp theo theo cách lossless. Nếu bạn dự định chỉnh sửa ảnh JPEG (cắt, retouch, điều chỉnh màu) và lưu vài lần, mỗi lần lưu JPEG sẽ giới thiệu lỗi lượng tử hóa DCT mới và hình ảnh xuống cấp rõ ràng sau ba hoặc bốn lần. Chuyển đổi một lần sang PNG và các chỉnh sửa tiếp theo sẽ vòng lặp mà không tích lũy mất mát. Các lý do hợp lệ khác: nền tảng đích yêu cầu PNG cụ thể, bạn muốn thêm độ trong suốt sau này (PNG hỗ trợ alpha; đầu ra chuyển đổi hoàn toàn opaque nhưng định dạng sẽ chấp nhận các chỉnh sửa alpha trong tương lai), hoặc bạn muốn một định dạng lưu trữ dài hạn bảo thủ hơn.
Những gì chuyển đổi không làm: nó không "tăng chất lượng", "loại bỏ tạo tác JPEG", hoặc "khôi phục chi tiết đã mất." Lý thuyết thông tin không khoan dung ở đây. Các bit mà bộ mã hóa JPEG đã loại bỏ đã biến mất. PNG không thể tổng hợp chúng trở lại. Nếu JPEG của bạn có blocking hoặc ringing có thể nhìn thấy, PNG sẽ có cùng blocking và ringing, chỉ trong một tệp lớn hơn. Cách duy nhất để thực sự khôi phục chi tiết từ JPEG chất lượng thấp là siêu phân giải AI (Real-ESRGAN, Topaz Gigapixel, Adobe Super Resolution), tạo ảo giác chi tiết hợp lý bằng cách sử dụng mạng nơ-ron; đó là một thao tác khác với chuyển đổi định dạng.
Cách công cụ này hoạt động dưới mui xe
Việc chuyển đổi sử dụng API Canvas 2D của HTML5 và JSZip (Stuart Knightley, giấy phép kép MIT/GPL) để đóng gói nhiều tệp. Không cần bộ giải mã bên ngoài vì mọi trình duyệt đều giải mã JPEG một cách native. Khi bạn thả một JPEG, File API chuyển các byte cho một HTMLImageElement mới; bộ giải mã JPEG tích hợp của trình duyệt thực hiện inverse-DCT tiêu chuẩn, inverse-quantization, chuyển đổi màu YCbCr-sang-RGB, và tạo ra một bộ đệm pixel RGBA thô với alpha được đặt thành hoàn toàn opaque (JPEG không có alpha để điền vào).
Một mới trong bộ nhớ được kích thước theo hình ảnh và các pixel đã được giải mã được vẽ với ctx.drawImage(). Sau đó canvas.toBlob('image/png') gọi bộ mã hóa PNG tích hợp của trình duyệt. Bộ mã hóa chạy DEFLATE (LZ77 + Huffman) trên luồng byte RGBA và viết một tệp PNG tuân thủ tiêu chuẩn. Không có đối số chất lượng: PNG luôn lossless, vì vậy nút duy nhất của bộ mã hóa là mức độ nỗ lực DEFLATE, mà các trình duyệt cố định ở một mặc định hợp lý.
Đối với các tệp đơn, Blob đầu ra trở thành một URL đối tượng có thể tải xuống. Đối với các batch nhiều tệp, JSZip đóng gói mọi đầu ra PNG thành một kho lưu trữ ZIP duy nhất mà trình duyệt phục vụ như một lần tải xuống. Không có gì rời khỏi tab. Lưu lượng mạng duy nhất là tải trang ban đầu và thư viện JSZip (~95 KB trong lần truy cập đầu tiên, được lưu cache sau đó). Mở tab Network của DevTools khi chuyển đổi: không có yêu cầu nào mang dữ liệu hình ảnh. Chuyển trình duyệt sang chế độ máy bay sau khi trang được tải và bộ chuyển đổi vẫn hoạt động trên các JPEG cục bộ.
Lịch sử ngắn của JPEG và PNG
- JPEG, 1992. ITU-T T.81 / ISO/IEC 10918-1, được tiêu chuẩn hóa bởi Joint Photographic Experts Group (thành lập năm 1986). Các khối DCT 8x8, màu YCbCr với subsampling chroma tùy chọn, các bảng lượng tử hóa được điều chỉnh cho thị giác con người. Lossy, không có kênh alpha. Định dạng đã làm cho web nhiều ảnh trở nên khả thi.
- Khủng hoảng bằng sáng chế LZW, 1994-1995. Unisys bắt đầu khẳng định yêu sách bằng sáng chế đối với nén LZW được sử dụng bởi GIF, đòi phí cấp phép từ bất kỳ phần mềm nào tạo tệp GIF. Cộng đồng web tổ chức xung quanh một sự thay thế không bằng sáng chế cho trường hợp sử dụng lossless-với-alpha mà GIF đã phục vụ.
- PNG 1.0, tháng 1 năm 1996. Thomas Boutell, Mark Adler và một nhóm làm việc do CompuServe dẫn dắt đã xuất bản PNG tại IETF dưới dạng RFC 2083. Nén DEFLATE (cùng thuật toán LZ77+Huffman với zlib và ZIP, cũng không có bằng sáng chế) đã thay thế LZW. Kênh alpha 8-bit đầy đủ, luôn lossless, không có bản quyền. Khuyến nghị W3C theo sau vào năm 1997.
- Hai định dạng, hai công việc, cuối những năm 1990 trở đi. JPEG trở thành định dạng trên thực tế cho các bức ảnh; PNG trở thành tiêu chuẩn cho đồ họa, biểu trưng, ảnh chụp màn hình, bất cứ thứ gì yêu cầu độ trong suốt hoặc kết xuất lossless. Chuyển đổi chéo đã là một quy trình làm việc hàng ngày kể từ đó: từ JPEG sang PNG khi yêu cầu chỉnh sửa hoặc nền tảng đòi hỏi, từ PNG sang JPEG để thu nhỏ nội dung ảnh.
- Tiêu chuẩn hóa ISO và APNG, 2003-2010. PNG trở thành ISO/IEC 15948 vào năm 2003. Mozilla đã phát triển APNG (PNG hoạt hình) vào năm 2004 dưới dạng tiện ích mở rộng Firefox; nó đã có được sự hỗ trợ Safari vào năm 2014 và Chrome vào năm 2017, nhưng nhóm PNG của W3C chỉ chính thức áp dụng nó trong Phiên bản 3 vào năm 2023.
- PNG Phiên bản 3, 2023. W3C đã xuất bản Phiên bản 3 của PNG với hỗ trợ HDR chính thức (chunk cICP), hoạt hình APNG và các khối siêu dữ liệu EXIF được tiêu chuẩn hóa (chunk eXIf). Hơn ba mươi năm sau JPEG, cả hai định dạng vẫn là định dạng hình ảnh thống trị trên web, với WebP và AVIF đang chiếm chỗ nhưng không thay thế chúng.
Cách hoạt động
- Tải lên JPG: Thả hoặc chọn một hoặc nhiều tệp JPG/JPEG để chuyển đổi.
- Chuyển đổi: Nhấp "Chuyển đổi sang PNG" để bắt đầu quá trình chuyển đổi. Việc xử lý diễn ra ngay lập tức trong trình duyệt của bạn.
- Tải xuống: Hình ảnh đơn lẻ tải xuống trực tiếp; nhiều tệp được đóng gói thành kho lưu trữ ZIP để tải xuống hàng loạt dễ dàng.
Tại sao chuyển đổi JPG sang PNG?
PNG là định dạng không mất dữ liệu, giữ lại toàn bộ dữ liệu hình ảnh mà không làm mất chất lượng. Không giống JPG, PNG hỗ trợ nền trong suốt và tạo ra hình ảnh sắc nét, chi tiết, lý tưởng cho đồ họa, logo và thiết kế web. Chuyển đổi sang PNG khi bạn cần hỗ trợ nền trong suốt, chất lượng không mất dữ liệu để chỉnh sửa hoặc lưu trữ dài hạn. Lưu ý: Tệp PNG thường lớn hơn JPG, nhưng cung cấp chất lượng và tính linh hoạt tốt hơn.
Tính năng
- Chuyển đổi hàng loạt: Chuyển đổi nhiều tệp JPG cùng lúc. Hình ảnh đơn lẻ tải xuống trực tiếp, nhiều hình ảnh được nén.
- Chất lượng không mất dữ liệu: PNG giữ lại toàn bộ dữ liệu hình ảnh mà không có hiệu ứng nén hoặc mất chất lượng.
- Hỗ trợ nền trong suốt: PNG hỗ trợ nền trong suốt, hoàn hảo cho đồ họa và công việc thiết kế.
- Quyền riêng tư: Tất cả quá trình chuyển đổi diễn ra cục bộ trong trình duyệt của bạn. Không tải lên bất kỳ máy chủ nào.
- Xử lý nhanh: Chuyển đổi tức thì không cần chờ hoặc xếp hàng.
Quy trình JPG-to-PNG thực tế
- Chuẩn bị một JPEG để chỉnh sửa thêm. Một bức ảnh đến dưới dạng JPEG. Trước khi mở nó trong Photoshop, Affinity Photo hoặc GIMP cho công việc retouch, cắt hoặc điều chỉnh màu, hãy chuyển đổi sang PNG. Mỗi lần lưu tiếp theo trong quá trình chỉnh sửa sẽ lossless. Nếu bạn ở lại JPEG và lưu nhiều lần trong quy trình làm việc, hình ảnh sẽ xuống cấp rõ ràng sau ba hoặc bốn lần (tích lũy lỗi lượng tử hóa DCT). Chuyển đổi PNG đóng băng trạng thái lossy hiện có và ngăn chặn sự xuống cấp thêm.
- Gửi đến một dịch vụ yêu cầu PNG. Một số dịch vụ in ảnh, cổng thông tin chính phủ, hệ thống gửi tạp chí học thuật, cổng thông tin cuộc thi thiết kế, và cài đặt CMS legacy chấp nhận PNG và từ chối JPEG hoàn toàn. Chuyển đổi trước khi tải lên để tránh chuyến đi vòng khi việc nộp bị từ chối với lỗi "định dạng không được hỗ trợ" khó hiểu.
- Thêm văn bản hoặc đồ họa sắc nét lên ảnh. Một bìa tạp chí, một infographic, một lớp phủ meme. Nén DCT của JPEG tạo ra các halo xung quanh các chuyển tiếp màu sắc nét: văn bản đặt trên ảnh và được lưu dưới dạng JPEG trông xuống cấp rõ ràng dọc theo mỗi cạnh chữ cái. PNG xử lý nội dung hỗn hợp ảnh-cộng-đồ-họa một cách sạch sẽ. Chuyển đổi ảnh sang PNG trước, thực hiện công việc phủ và lưu hình ảnh kết hợp dưới dạng PNG.
- Lưu trữ lossless của các bức ảnh đã chỉnh sửa. Khi bạn đã hoàn thành việc điều chỉnh màu hoặc retouch một nguồn JPEG, lưu kết quả dưới dạng PNG có nghĩa là các lần lưu lại trong tương lai sẽ không giới thiệu lỗi lượng tử hóa bổ sung. Nếu bạn có khả năng sẽ mở lại và sửa đổi hình ảnh sau này (cắt hơi khác, điều chỉnh bổ sung), kho lưu trữ PNG tránh mất mát thế hệ.
- Chuẩn bị cho việc chỉnh sửa độ trong suốt. PNG đầu ra hoàn toàn opaque (nguồn JPEG không có alpha để điền). Nhưng PNG hỗ trợ một kênh alpha, vì vậy các chỉnh sửa tiếp theo có thể cắt nền, thêm halo bán trong suốt, hoặc tổng hợp hình ảnh trên các đồ họa khác. Thực hiện cùng quy trình làm việc trong JPEG sẽ yêu cầu chuyển đổi PNG cuối cùng ở cuối, vì vậy chuyển đổi trước giữ mọi bước lossless.
- Thiết kế web và UI nơi kết xuất pixel-perfect quan trọng. Portfolio thiết kế, mockup UI, ảnh chụp màn hình kết hợp nội dung ảnh và typographic, các biểu tượng ứng dụng có nguồn gốc từ ảnh. PNG là định dạng tiêu chuẩn cho những điều này vì halo JPEG ở các cạnh màu sắc nét gây khó chịu trong bối cảnh thiết kế. Chuyển đổi tài sản nguồn JPEG sang PNG một lần ở đầu một dự án thiết kế giữ cho phần còn lại của quy trình làm việc nhất quán.
Các cạm bẫy phổ biến và ý nghĩa của chúng
- PNG không khôi phục chi tiết JPEG đã mất. Đây là quan niệm sai lầm phổ biến nhất. Bộ mã hóa JPEG đã loại bỏ dữ liệu hình ảnh; lý thuyết thông tin nói rằng bạn không thể tái tạo những gì đã bị loại bỏ. PNG bảo tồn các pixel đã lossy của JPEG chính xác, bao gồm mọi tạo tác blocking và halo cạnh. Nếu bạn cần thực sự khôi phục chi tiết, điều đó yêu cầu siêu phân giải AI (Real-ESRGAN, Topaz Gigapixel, Adobe Super Resolution), tạo ảo giác chi tiết hợp lý bằng cách sử dụng mạng nơ-ron. Chuyển đổi định dạng đơn thuần không thể làm điều này.
- Kích thước tệp luôn tăng. Đối với nội dung ảnh điển hình, PNG lớn hơn 3-5 lần so với nguồn JPEG. Đôi khi 10x đối với JPEG bị nén rất nhiều. Nén DEFLATE của PNG không phải là đối thủ cho DCT của JPEG đối với hình ảnh tone liên tục; PNG không thể loại bỏ bất kỳ mẫu nhiễu JPEG nào để tiết kiệm không gian vì nó phải lossless. Nếu kích thước tệp quan trọng hơn chất lượng lossless, đừng chuyển đổi sang PNG.
- Các tạo tác JPEG được bảo tồn chính xác. Blocking DCT trong các khu vực phẳng, chuyển màu chroma ở các ranh giới màu, halo ringing gần các cạnh cứng, nhiễu muỗi xung quanh văn bản. Tất cả những điều này hiện có trong PNG với độ trung thực đầy đủ. Việc chuyển đổi không làm mềm, deblock hoặc giảm nhiễu chúng. Chúng sẽ có thể nhìn thấy trong bản in và trong bất kỳ so sánh nhìn từng pixel nào. PNG chỉ đông cứng chúng tại chỗ.
- Tránh các vòng lặp JPEG → PNG → JPEG. Một sai lầm phổ biến: chuyển đổi JPEG sang PNG để chỉnh sửa, chỉnh sửa, sau đó lưu kết quả dưới dạng JPEG và lặp lại vào ngày mai. PNG trung gian không giúp ích gì: mỗi chuyến đi vòng đến JPEG chạy lại lượng tử hóa DCT lossy. Để hưởng lợi từ việc lưu lossless của PNG, hãy thực hiện tất cả việc chỉnh sửa trong PNG và chỉ mã hóa lại sang JPEG ở cuối nếu cần.
- Siêu dữ liệu EXIF và ICC có thể bị loại bỏ. Mã hóa lại dựa trên Canvas thường loại bỏ các khối siêu dữ liệu EXIF, IPTC, XMP (camera, phơi sáng, GPS, bản quyền) và profile màu ICC nhúng. Đối với sử dụng màn hình thông thường, điều này là vô hình; đối với quy trình lưu trữ nơi siêu dữ liệu quan trọng, hãy sử dụng một công cụ desktop nhận biết siêu dữ liệu như ImageMagick với các tùy chọn rõ ràng hoặc các đường dẫn bảo toàn siêu dữ liệu tương đương jpegtran.
- Các JPEG rất lớn cần bộ nhớ đáng kể. Giải mã JPEG sang pixel RGBA cần RAM tỷ lệ với kích thước của nó: ảnh 24 megapixel (6000x4000) cần khoảng 96 MB cho bộ đệm pixel nguồn, cộng với một bộ đệm riêng cho canvas, cộng với không gian làm việc của bộ mã hóa PNG. Các thiết bị di động với 1 đến 2 GB RAM khả dụng cho trình duyệt có thể bị OS kết thúc tab trước khi hoàn thành mã hóa.
Quyền riêng tư: hình ảnh không bao giờ rời khỏi thiết bị của bạn
Mỗi bộ chuyển đổi JPG-sang-PNG dựa trên đám mây (CloudConvert, Convertio, iLoveIMG, FreeConvert, Aspose, và hàng chục dịch vụ "jpg to png online") tải tệp của bạn lên máy chủ của nhà điều hành, chạy chuyển đổi và trả về PNG dưới dạng tải xuống. JPEG từ điện thoại và máy ảnh thường nhúng siêu dữ liệu EXIF: tọa độ GPS nơi ảnh được chụp (thường chính xác đến vài mét), kiểu máy ảnh và ống kính, ngày và giờ chụp, thậm chí cả các bản xem trước thumbnail nhỏ. Tất cả những thứ đó đi đến nhà điều hành. Hầu hết các nhà điều hành đều công bố các chính sách bảo mật cam kết xóa các tải lên trong vòng một hoặc hai giờ và mã hóa khi vận chuyển, và những nhà điều hành lớn hơn giữ chứng nhận ISO/IEC 27001. Họ có lý do thương mại mạnh mẽ để tôn vinh các chính sách đó. Nhưng "bị xóa trong vòng một giờ" không phải là "không bao giờ được nhìn thấy." Trong giờ đó, nội dung ảnh nằm trên cơ sở hạ tầng của nhà điều hành, có thể truy cập đối với bất kỳ quy trình hoặc người nào có quyền thích hợp, và có thể nhìn thấy trong các bản ghi và sao lưu theo bất kỳ chính sách lưu giữ nào áp dụng.
Bộ chuyển đổi này không bao giờ tải lên bất cứ điều gì. Toàn bộ pipeline (chọn tệp, giải mã JPEG qua bộ giải mã tích hợp của trình duyệt, vẽ Canvas, mã hóa PNG, đóng gói ZIP tùy chọn, tải xuống) chạy bên trong tab trình duyệt của bạn sử dụng JavaScript và HTML5 Canvas API. Không có tải lên, không có yêu cầu mạng mang dữ liệu hình ảnh, không có mục nhập bản ghi. Bạn có thể xác minh bằng cách mở các công cụ phát triển của trình duyệt vào tab Network trước khi chuyển đổi: không có yêu cầu nào kích hoạt với nội dung hình ảnh. Lưu lượng mạng duy nhất là lượt tải trang ban đầu và thư viện JSZip nhỏ (~95 KB), được lấy một lần từ CDN trong lần truy cập đầu tiên và được lưu cache. Chuyển trình duyệt sang chế độ máy bay sau khi trang được tải và bộ chuyển đổi vẫn hoạt động trên các JPEG cục bộ.
Khi nào một công cụ khác là sự lựa chọn đúng
- Bạn muốn khôi phục chi tiết bị mất hoặc loại bỏ các tạo tác JPEG. Chuyển đổi định dạng không thể làm điều này. Sử dụng siêu phân giải AI: Real-ESRGAN (mã nguồn mở, chạy cục bộ qua ChaiNNer hoặc dòng lệnh), waifu2x (mã nguồn mở, demo web miễn phí), Topaz Gigapixel AI (desktop thương mại), hoặc Adobe Super Resolution bên trong Camera Raw hoặc Lightroom. Các mô hình này tạo ảo giác chi tiết hợp lý bằng cách sử dụng mạng nơ-ron được đào tạo trên hàng triệu hình ảnh tương tự.
- Việc tối thiểu hóa kích thước tệp quan trọng hơn chất lượng lossless. Đừng chuyển đổi sang PNG; PNG sẽ lớn hơn 3-5 lần. Nếu JPEG có chất lượng chấp nhận được, hãy ở lại JPEG. Nếu bạn cần một tệp nhỏ hơn, hãy chạy JPEG qua Image Compressor ở cài đặt chất lượng thấp hơn, hoặc chuyển đổi sang WebP qua Image Converter (WebP-lossy thường nhỏ hơn 25-35% so với JPEG ở cùng chất lượng).
- Tự động hóa hàng loạt trên hàng trăm tệp. Sử dụng Sharp trong Node.js (thư viện hình ảnh phía máy chủ chính tắc được xây dựng trên libvips:
sharp(buf).png().toBuffer()), ImageMagick trên bất kỳ shell nào (magick input.jpg output.png), hoặc Pillow trong Python (Image.open(p).save(out, 'PNG')). Các công cụ CLI xử lý hàng nghìn tệp mà không có giới hạn bộ nhớ trình duyệt và chạy từ các công việc CI, hook triển khai hoặc các nhiệm vụ cron. - Quy trình làm việc cấp in với bảo toàn siêu dữ liệu và profile màu. Sử dụng Save As PNG của Photoshop (bảo toàn profile ICC và siêu dữ liệu), Affinity Photo, hoặc RawTherapee. Chuyển đổi trình duyệt dựa trên Canvas có thể loại bỏ profile ICC nhúng và các khối EXIF, điều này tốt cho sử dụng màn hình nhưng không tốt cho việc chuẩn bị in hoặc quy trình làm việc phụ thuộc vào siêu dữ liệu chụp.
Câu hỏi thường gặp
Tệp PNG của tôi có lớn hơn JPG gốc không?
Có thể. PNG sử dụng nén không mất dữ liệu trong khi JPG sử dụng nén mất dữ liệu, điều này thường dẫn đến kích thước tệp nhỏ hơn. Tuy nhiên, PNG cung cấp chất lượng tốt hơn và hỗ trợ nền trong suốt. Chọn PNG khi chất lượng và tính linh hoạt quan trọng hơn kích thước tệp.
Tôi có thể chuyển đổi nhiều tệp cùng lúc không?
Có. Tải lên nhiều tệp JPG và tất cả sẽ được chuyển đổi với cùng các cài đặt. Tệp đơn lẻ tải xuống trực tiếp, nhiều tệp được đóng gói tự động thành kho lưu trữ ZIP.
Giới hạn kích thước tệp là gì?
Mỗi JPG có thể lên đến 50 MB. Tổng kích thước chuyển đổi phụ thuộc vào bộ nhớ có sẵn của trình duyệt, nhưng thông thường bạn có thể chuyển đổi các tệp tổng cộng vài trăm MB.
Hình ảnh của tôi có được gửi đến server không?
Không. Tất cả việc chuyển đổi diễn ra cục bộ trong trình duyệt của bạn với API Canvas. Hình ảnh của bạn không bao giờ rời khỏi thiết bị của bạn, đảm bảo quyền riêng tư và bảo mật.
Tôi có thể chuyển đổi JPG sang PNG trên điện thoại không?
Có. Công cụ này hoạt động trên trình duyệt máy tính, máy tính bảng và điện thoại di động. Chỉ cần nhấn để chọn tệp và chuyển đổi.
Chất lượng JPG so với PNG thế nào?
Chuyển đổi PNG giữ lại chất lượng hình ảnh của JPG gốc. Vì JPG đã là định dạng mất dữ liệu, việc chuyển sang PNG sẽ không khôi phục chi tiết đã mất, nhưng nó ngăn chặn mất chất lượng thêm nếu bạn cần chỉnh sửa hình ảnh.
Các câu hỏi thường gặp khác
Việc chuyển đổi sang PNG có loại bỏ các tạo tác JPEG mà tôi có thể nhìn thấy không?
Không. Các tạo tác JPEG (blocking DCT trong các vùng phẳng, halo và ringing ở các cạnh sắc nét, chuyển màu chroma ở các chuyển tiếp màu) là một phần của dữ liệu pixel sau khi bộ mã hóa JPEG đã hoàn thành công việc của mình. PNG là một định dạng lossless: nó bảo tồn dữ liệu pixel chính xác như hiện có, các tạo tác và tất cả mọi thứ. PNG đầu ra sẽ trông giống hệt JPEG nguồn ở mọi mức thu phóng. Nếu bạn cần làm mềm hoặc loại bỏ các tạo tác JPEG có thể nhìn thấy, các tùy chọn duy nhất là các công cụ AI denoise/siêu phân giải hoặc retouch thủ công cẩn thận; chuyển đổi định dạng không thể làm điều này.
Tại sao PNG lại lớn hơn nhiều?
Vì nén DEFLATE của PNG ít hiệu quả hơn nhiều so với DCT của JPEG cho nội dung ảnh. JPEG có thể nén các gradient mượt và các vùng tone liên tục một cách cực kỳ hiệu quả bằng cách loại bỏ thông tin tần số cao mà mắt sẽ không nhận thấy. PNG phải bảo tồn mọi pixel một cách chính xác, vì vậy nó phải mã hóa mẫu nhiễu đầy đủ của bức ảnh, mà DEFLATE chỉ có thể làm một cách nhẹ nhàng. Đối với các bức ảnh điển hình, PNG lớn hơn 3-5 lần so với JPEG tương đương ở chất lượng 85; đôi khi 10x cho các JPEG bị nén rất nhiều. Đây là hành vi được mong đợi, không phải lỗi trong công cụ.
PNG kết quả có thể có độ trong suốt không?
Không tự động, vì nguồn JPEG không có kênh alpha để điền vào. PNG đầu ra hoàn toàn opaque. Nhưng định dạng PNG hỗ trợ một kênh alpha 8-bit, vì vậy bạn có thể mở PNG trong một bước chỉnh sửa sau đó (Photoshop, GIMP, Photopea, Pixelmator) và thêm độ trong suốt: cắt bỏ một nền, thêm một halo bán trong suốt, tổng hợp lên các đồ họa khác. Chuyển đổi mang lại cho bạn một định dạng chấp nhận các chỉnh sửa tương lai đó mà không cần thay đổi định dạng khác.
Công cụ này có hoạt động ngoại tuyến không?
Có. Bộ giải mã JPEG và bộ mã hóa PNG đều được tích hợp vào mọi trình duyệt; không có thư viện bên ngoài nào được tải xuống cho chúng. Thư viện duy nhất mà công cụ này tải là JSZip (~95 KB) để đóng gói các batch nhiều tệp vào một kho lưu trữ ZIP, được lấy một lần từ CDN trong lần tải đầu tiên và được lưu cache. Các lượt truy cập tiếp theo hoạt động hoàn toàn ngoại tuyến. Bạn có thể xác minh bằng cách bật chế độ máy bay sau khi mở trang một lần và chuyển đổi một tệp JPG cục bộ.
Liệu siêu dữ liệu EXIF của tôi (camera, GPS, ngày) có tồn tại không?
Thường là không. Mã hóa lại dựa trên Canvas loại bỏ các khối siêu dữ liệu EXIF, IPTC và XMP (kiểu camera, cài đặt phơi sáng, tọa độ GPS, thẻ bản quyền) cùng với profile màu ICC được nhúng. PNG đầu ra chỉ mang dữ liệu pixel. Đối với việc chia sẻ màn hình thông thường, đây thường là một chiến thắng riêng tư (tọa độ GPS và số sê-ri của thiết bị sẽ không bị rò rỉ). Đối với các quy trình lưu trữ nơi bạn cần bảo toàn siêu dữ liệu chụp, hãy sử dụng một công cụ desktop nhận biết siêu dữ liệu: ImageMagick với các tùy chọn phù hợp, ExifTool, hoặc Save As của Photoshop, tất cả đều có thể bảo toàn dữ liệu EXIF trong suốt quá trình chuyển đổi.
Có một bộ tương đương desktop hoặc dòng lệnh không?
Một số. Đối với tự động hóa hàng loạt, sharp trong Node.js là thư viện phía máy chủ tiêu chuẩn: sharp(buf).png().toBuffer(). ImageMagick trên bất kỳ shell nào: magick input.jpg output.png. Pillow của Python: Image.open(p).save(out, 'PNG'). Đối với công việc tương tác một lần như công cụ này, Squoosh (Google Chrome Labs, hoàn toàn phía máy khách) là một sự thay thế gần hơn và hỗ trợ nhiều định dạng đầu ra bao gồm AVIF. Photoshop, Affinity Photo và Preview trên macOS xử lý trường hợp GUI desktop và bảo toàn siêu dữ liệu đáng tin cậy hơn chuyển đổi dựa trên trình duyệt.