Hình ảnh & hình ảnh · Trình chuyển đổi & nén hình ảnh
Điều gì xảy ra với tính minh bạch khi bạn chuyển đổi PNG thành JPEG
· Cách thức hoạt động
image-formats minh bạch vải vẽ
JPEG không có kênh alpha nên các pixel trong suốt phải trở thành thứ gì đó trong quá trình chuyển đổi và quy tắc của trình duyệt là tổng hợp chúng thành màu đen. Bài đăng này giải thích về alpha, bước tổng hợp và cách giữ tính minh bạch bằng cách chọn WebP hoặc PNG thay thế.
Phần cắt ra của sản phẩm biến thành hình vuông màu đen - kết quả chuyển đổi khiến hầu hết mọi người ngay lần đầu tiên đều ngạc nhiên
Phần cắt ra của sản phẩm có thể quay lại từ chuyển đổi JPEG được bao quanh bởi một hình chữ nhật đặc. Trong công cụ này, hình chữ nhật không bị buộc phải chuyển sang màu đen: sơ đồ có màu nền, bảng tiêu điểm bắt đầu với màu trắng và `renderPlan` lấp đầy toàn bộ khung vẽ trước khi vẽ bitmap. Do đó, đầu ra phản ánh lựa chọn hiển thị của người dùng thay vì dự phòng trình duyệt không có giấy tờ.
Tái tạo vấn đề bằng một bản sao của nguồn và ghi lại phần mờ đã chọn. Nếu một khối màu đen xuất hiện sau khi chọn màu trắng, hãy so sánh tệp đã tải xuống thực tế với bất kỳ giai đoạn xử lý nào sau đó trước khi đổ lỗi cho việc chuyển đổi. Cảnh báo của ToolAcre bao gồm màu được đặt phía sau các pixel trong suốt, giúp kế hoạch có thể được kiểm tra trước khi bộ mã hóa JPEG nhận canvas.
Một hình chữ nhật rắn đáng ngạc nhiên có thể là bất kỳ hình mờ nào được chọn; ToolAcre mặc định là màu trắng thay vì đen
Độ trong suốt được thể hiện trên bề mặt pixel được giải mã dưới dạng độ mờ cùng với màu sắc. Bảng định dạng của sản phẩm ghi lại rằng đầu ra PNG và WebP hỗ trợ alpha trong khi JPEG thì không. Đó là tuyên bố về khả năng mã hóa: bộ giải mã đầu vào cũng chấp nhận GIF, nhưng GIF chỉ giải mã và chỉ đóng góp một khung hình tĩnh. Hỗ trợ đọc và hỗ trợ viết không được gộp vào một danh sách.
Giá trị alpha cho phép cùng một nền trước hòa trộn vào các nền trang khác nhau sau khi xuất. Sau khi các pixel được làm phẳng thành một lớp mờ, tính linh hoạt đó sẽ không còn vì JPEG được lưu trữ chứa các màu mờ thông thường. Việc chuyển đổi JPEG trở lại PNG sẽ tạo ra một vùng chứa có khả năng alpha nhưng không thể suy ra pixel nào trước đây trong suốt hoặc tách chúng khỏi nền đã chọn.
Tại sao JPEG không thể giữ được độ trong suốt — một định dạng được thiết kế cho những bức ảnh không có khái niệm 'không có gì ở đây'
Đầu ra JPEG không có kênh alpha trong các dữ kiện định dạng của ToolAcre, vì vậy, đầu ra hoàn chỉnh cần có màu ở mọi pixel. Kế hoạch chuyển đổi cung cấp màu đó và trình kết xuất vẽ màu đó qua đích trước khi bất kỳ pixel nguồn nào được vẽ. Thứ tự này đảm bảo các vùng trong suốt hoàn toàn trở thành ranh giới mờ và trong suốt một phần hòa trộn thông qua bố cục canvas thông thường.
Chọn màu mờ dựa trên vị trí JPEG sẽ xuất hiện. Một trang danh mục màu trắng thiên về màu trắng; một slide tối thích nền tối thực sự của nó. Nếu nền đích có thể thay đổi thì JPEG sẽ được phân phối sai vì quyết định sẽ được đưa ra quá sớm. PNG hoặc WebP giữ kênh alpha khả dụng cho bố cục sau này.
Trình duyệt quy tắc tổng hợp tuân theo - các vùng trong suốt được trộn trên nền đen đồng nhất trước khi mã hóa JPEG, theo thông số kỹ thuật
Sổ làm việc mô tả việc tổng hợp màu đen như một quy tắc đặc tả của trình duyệt, nhưng việc triển khai ngăn chặn rõ ràng việc vô tình điền vào trình duyệt. `fillRect` sử dụng `plan.background` và bảng điều khiển chỉ hiển thị đầu vào màu khi định dạng đã chọn thiếu alpha. Vấn đề cần sửa: việc thông báo cho người dùng rằng màu đen là không thể tránh khỏi sẽ ẩn điều khiển được thiết kế đặc biệt để tránh điều bất ngờ đó.
Trường mờ không phải là siêu dữ liệu trang trí. Nó thay đổi màu pixel được gửi tới JPEG và phải được đưa vào bản ghi chuyển đổi có thể lặp lại cùng với định dạng và chất lượng. Chỉ ảnh chụp màn hình đầu ra có thể tạo ra một vệt mờ tối có chủ ý trông giống như bị hư hỏng. Việc chụp sơ đồ sẽ giải thích liệu hình chữ nhật đến từ nền đã chọn hay từ người xem sau này.
ToolAcre lấp đầy độ trong suốt bằng nền đã chọn của người dùng trước khi mã hóa JPEG
Các cạnh được khử răng cưa mềm chứa các pixel trong suốt một phần, không chỉ đơn thuần là mặt nạ bật hoặc tắt. Màu sắc cuối cùng của chúng phụ thuộc vào độ mờ bên dưới chúng trong quá trình sáng tác. Viền nhạt ở điểm đến tối có thể xảy ra khi một vật thể được làm phẳng trên nền trắng trước tiên; việc thay đổi trang sau này không thể tính toán lại các pixel ranh giới hỗn hợp đó từ JPEG mờ.
ToolAcre không hiển thị bộ đệm alpha tiền nhân hoặc hứa hẹn trình bày bộ giải mã mức thấp cụ thể, do đó việc kiểm tra dựa trên bằng chứng là trực quan. Xuất cùng một biểu tượng trên hai lớp nền khác nhau rõ rệt và so sánh đường viền của nó ở kích thước gốc. Nếu nội dung phải hoạt động trên cả hai nền, hãy giữ lại alpha thay vì tìm kiếm một cạnh JPEG thỏa hiệp.
Kết quả cạnh mềm phải được kiểm tra dựa trên lớp mờ đã chọn; nội bộ tiền nhân không được tiếp xúc
Sử dụng logo trong suốt với bóng mềm. Đầu tiên chọn màu trắng và xuất JPEG; sau đó chọn màu xanh đậm và xuất một JPEG khác. Trường trong suốt sẽ trở thành từng màu được chọn, trong khi bóng hòa vào đó. Xuất cả các bản sao PNG và WebP có kích thước không đổi, sau đó đặt cả hai khối kiểm tra sáng và tối trong trình xem nhận biết hình ảnh.
Tuyến PNG sử dụng bộ mã hóa không mất dữ liệu và duy trì tính minh bạch. Tuyến WebP duy trì tính minh bạch nhưng vẫn bị mất dữ liệu theo định dạng của ứng dụng, ngay cả ở chất lượng 100. Các bản sao JPEG nhất thiết phải mờ đục. Không có thứ hạng kích thước tệp cố định nào được xác nhận vì trình duyệt đo lường số byte được mã hóa thực và nội dung sẽ xác định kết quả.
Điều này không bao gồm những gì — chọn màu nền tùy chỉnh, độ trong suốt hoạt ảnh và mặt nạ kiểu 1-bit GIF
Quy trình công việc này bao gồm màu nền tùy chỉnh—đường viền ban đầu đã loại trừ màu nền đó một cách không chính xác. Nó không bảo toàn hoạt ảnh GIF, cung cấp đầu ra GIF hoặc cung cấp trình chỉnh sửa mặt nạ một bit chuyên dụng. Đầu vào GIF được giải mã dưới dạng một khung tĩnh và nhận các quy tắc định dạng đích giống như các đầu vào được chấp nhận khác.
Nó cũng không loại bỏ nền màu có sẵn khỏi nguồn mờ. Việc bảo toàn alpha chỉ hữu ích khi độ trong suốt đạt đến bộ giải mã. Nếu nguồn đã chứa hình chữ nhật màu trắng thì việc xuất sang PNG không thể tạo lại độ trong suốt bị thiếu. Nhiệm vụ đó yêu cầu loại bỏ nền có chủ ý trong trình chỉnh sửa chứ không phải chuyển đổi định dạng.
Màu nền tùy chỉnh được triển khai và thuộc phạm vi
Sự minh bạch chỉ tồn tại ở một điểm đến có thể đại diện cho nó. ToolAcre làm cho giải pháp thay thế trở nên rõ ràng: JPEG nhận được màu mờ đã chọn, trong khi PNG và WebP giữ lại alpha theo hành vi mã hóa được ghi lại của chúng. Đọc cảnh báo trước khi chuyển đổi vì nó mô tả quyết định pixel một chiều chứ không phải tùy chọn hiển thị có thể đảo ngược.
Giữ tài sản minh bạch ban đầu làm tài sản chính. Chỉ tạo bản sao JPEG sau khi biết nền cuối cùng và kiểm tra các cạnh mềm trên màu đó. Điều này bảo tồn nguồn linh hoạt trong khi cung cấp cho người nhận một tệp không rõ ràng mà họ có thể mở mà không cần giả vờ chuyển đổi sau đó có thể khôi phục bản alpha đã bị cố ý làm phẳng.