투명 PNG의 JPG 변환은 빈 픽셀에서 막힌다
PNG의 픽셀은 색 말고도 하나를 더 기억할 수 있다. 여기에는 아무것도 없다는 표시다. JPG에는 그 층이 없다. 모든 칸에 색이 있어야 한다. 그래서 투명 PNG를 JPG로 저장하는 순간 비어 있던 자리는 채워진다. 무슨 색으로 채울지가 이 공정에서 네가 정할 유일한 것이다.
ReadyIMG에서 용량 줄이기를 열고 출력을 JPG로 두면 빈 자리는 흰색, 기본값 #ffffff로 채워진다. 이 화면에는 배경색 선택기가 없다. 그림을 넣고 슬라이더를 움직이고 내려받으면, 나오는 흰색이 그대로 흰색이다. 다른 곳에서 바꿀 수 없다.
JPG에는 투명이 들어가지 않는다. 용량 줄이기는 흰색으로 채운다. 색을 고르려면 JPG로 만들기로 간다.
흰색은 기본값이지 선택지가 아니다
처음 이 일을 하는 사람은 용량 줄이기 화면에서 색을 찾다가 못 찾는다. 그 화면에 있는 것은 품질 슬라이더와 출력 형식뿐이다. 슬라이더는 40에서 95, 기본값 78이고, 바뀌는 것은 압축 강도이지 배경색이 아니다. 낮추면 파일은 가벼워지지만 빈 자리는 여전히 희다.
다른 색이 필요하면 JPG로 만들기를 연다. 여기서는 투명한 부분을 고른 색으로 채운다. 기본은 역시 흰색이고 품질 슬라이더도 40에서 95로 같다. 내려받으면 이 기기가 방금 만든 새 파일이 손에 들어온다. 원본은 원래 폴더에 그대로 있다. 네가 바꾸지 않는 한.
배경을 깔 수 있는 화면이 하나 더 있다. 회전과 뒤집기다. 출력은 PNG지만 돌릴 때 배경색을 고를 수 있다. JPG 한 장이면 되고 각도도 건드리지 않는다면 그 우회는 필요 없다. 단계가 적을수록 틀릴 곳도 적다.
그 투명이 진짜인지 먼저 확인한다
비어 보이는 PNG 가운데는 사실 흰색으로 칠해져 있다. 체크무늬는 보는 프로그램이 그리는 것이고 파일 자체는 오래전에 평평해졌다. 구분은 간단하다. 한 번 JPG로 만들어 빈 자리가 한 가지 색으로 덮여 있는지 본다. 원래 흰색이었다면 변환해도 달라지지 않는다. 색을 두고 고민할 시간이 아깝다.
반대 방향은 통하지 않는다. JPG를 PNG로 만들어도 흰 배경이 투명해지지 않는다. 흰 픽셀을 그대로 PNG에 담을 뿐이다. 배경을 정말 비우려면 피사체 오려내기의 일이다. 배경을 지우고 투명이 살아 있는 PNG를 내보낸다. 처음 한 번은 모델 배포처에서 인식 모델을 이 기기의 캐시로 내려받는다. 계산은 이 기기 안에서 계속되고, 그 모델은 사진이 아니다.
색은 어디에 붙는지로 정한다
- 흰 문서, 표, 메일 본문에 붙인다면 흰색 그대로. 가장 덜 틀린다.
- 어두운 페이지나 어두운 포스터라면 배경에 가까운 색. 흰 테두리는 눈에 띈다.
- 투명을 남겨야 한다면 JPG로 만들지 말고 PNG로 둔다.
- 상대가 JPG만 받고 색을 말하지 않았다면 흰색으로 보낸다.
변환하면서 잃는 것
JPG는 정한 품질로 다시 부호화한다. 손실이 있다. 투명은 사라지고 얇은 테두리와 그림자도 끊기기 쉽다. 부드러운 그림자가 있는 로고, 한 픽셀 선 아이콘, 옅은 글자는 변환 뒤에 가장 먼저 티가 난다. 테두리가 지저분해지고 그림자가 몇 토막으로 끊기며, 흰 배경에서는 특히 도드라진다.
그래서 순서가 중요하다. 배경색과 용량을 함께 바꿔야 한다면 색을 먼저 정하고 크기를 다음에 정해 한 번에 끝낸다. 두 번 오가며 변환하면 그때마다 다시 부호화되고, 첫 번째에 잃은 세부는 돌아오지 않는다. 파일이 더 커질 수도 있다. 용량 줄이기의 긴 변은 기본값이 0이고, 이는 가로세로를 그대로 둔다는 뜻이다. 양수를 넣으면 긴 변이 그 값을 넘는 그림만 그 값까지 줄어든다. 작은 그림은 확대되지 않고 잘리지도 않는다.
배경색과 품질은 JPG로 만들기에서 한 번에 정한다. 변환은 한 번이면 된다.
네트워크를 건드리는 것은 두 가지뿐
페이지를 열면 그 방문은 51.LA가 센다. 세는 것은 누군가 페이지를 열었다는 사실이고, 이미지 파일이 오갔다는 것이 아니다. 이미지는 ReadyIMG로 업로드되지 않는다. 로그인도 없고, 사진을 받는 계정 서버도 없다. 이 경계는 파일 처리 방식에 적혀 있다. 다른 하나는 오려내기로, 피사체 오려내기를 처음 쓸 때 인식 모델을 내려받는다. 배경색 변환은 그것을 받지 않고, 그것을 빌려 사진을 보내지도 않는다.
보내기 전에 세 번 본다
- 빈 자리가 의도한 색인가.
- 로고와 글자의 테두리가 뭉개지지 않았는가.
- 내려받은 것은 새 파일이고, 원본은 원래 자리에 있는가.
한 번에 40장까지 넣을 수 있다. 한 공정을 이어서 돌린 뒤 묶어서 내려받으면 된다. 대기열은 이번에 연 동안에만 산다. 새로 고치거나 창을 닫으면 아직 내려받지 않은 결과는 사라진다. 받지 않은 것을 저장됐다고 여기지 말자.
아직 그림을 넣지 않았다면 작업대로 돌아가 그림을 넣고, JPG로 만들기를 열어 배경색을 고른다. 파일이 어디로 가는지는 파일 처리 방식에 적혀 있다.