본문 바로가기

IT

리소스 PNG 파일 용량을 줄이자

반응형

 안녕하세요.


 안드로이드나 기타 모바일 프로그램을 개발할 때 작은 Heap 메모리 사이즈로 고생하는 경우가 많습니다. 어떻게 하든지 최대한 리소스를 적게 사용하도록 하는 것이 중요한데요..


 안드로이드에서는 drawable의 이미지 파일중 PNG 파일을 많이 사용합니다.


 이 용량을 줄이는 방법을 알아보겠습니다. 하나는 로컬PC에서 프로그램을 이용하여 줄이는 방법, 또하나는 PNG용량줄이는 기능을 구현한 홈페이지를 사용하는 방법입니다.


 첫번째.


 pngquant 라는 프로그램을 http://pngquant.org/ 에서 다운로드 받습니다. 다양한 OS버전 별로 바이너리파일이 준비되어 있으니 원하는 OS에 맞는 프로그램을 다운로드 받습니다.


 저는 윈도우 버전을 다운로드 받았는데요. GUI버전인 PNGoo 보다는 Command-line 용이 훨씬 편해서 Binary for Windows 버전을 사용하였습니다. 다운받은 압축파일을 풀면 다음과 같은 파일과 디렉토리가 보일겁니다.



 batch 파일이 3개 보이고, 이중에서 사용하는 것은 3번째 Drag PNG here to reduce palette to 256.bat 이라는 파일입니다. 사용방법은 간단합니다. 압축하고 싶은 png 파일을 드래그하여 .bat 파일에 드롭하시면 됩니다.


 bg.default.png 파일은 제가 넣어놓은 파일입니다. 얼마나 용량이 줄어드는지 봅시다. 위의 설명대로 파일을 드래그 & 드롭으로 .bat 파일에 떨굽니다. 저는 다음과 같이 되었습니다.




 용량이 거의 절반이상 줄어들었습니다. 하지만 팔레트를 이용한 색상수를 줄이는 작업을 토대로 압축하는 방식이므로 그라데이션이 많이 이용되고, 다양한 색상이 256 팔레트이상 필요한 경우, 원하는 만큼 이미지가 깔끔하지 않고 계단식으로 보이는 경우도 있습니다. 이런 경우는 뭐.. ㄷㄷ 원본을 사용하는 수 밖에 없습니다.


 테스트로 사용한 이미지는 큰 변화가 없어 육안으로 살펴보더라도 무리없이 사용할 수 있을 정도가 되었습니다.

 http://css-ig.net/png-tools-overview 해당 사이트를 방문해 보시면 TruePNG라는 프로그램이 팔방미인으로 표현되는데요.. 압축용량은 좀 크지만 (위 pngquant 비교시) 퀄리티는 확실하게 보장하는 듯 합니다.


 두번째.


 웹사이트에서 바로 변경할 수 있는 기능을 제공하는 사이트를 소개합니다.

 http://pngquant.org/ 사이트를 잘 보신분이라면 이미 링크를 보셨을 텐데요.


 http://tinypng.org/ 라는 사이트입니다.




 상단중앙에 보이는 Drop your .png files here! 라는 문구가 보이시죠? 이부분에 파일을 드래그 & 드롭하시면 잠시 후 압축된 파일이 다시 리턴되어 탐색기로 저장할 수 있습니다.

 단점이 하나 있다면 대량의 파일을 한번에 처리할 수 없다는 정도? 용량은 pngquant에서 작업한 것과 별반다르지 않습니다.


 자신의 입맞에 맞는 프로그램이나 웹사이트를 이용하여 리소스를 최대한 줄여서, 프로그램을 받는 사용자도, 프로그램을 개발하는 개발자도 서로 윈윈하였으면 합니다.


 끝.

반응형