2010-07-26 2 views
2

많은 그래픽 파일을 사용하는 프로젝트에서 작업하고 있습니다. 우리는 몇 가지 다른 애니메이션 (약 80)을 구성하는 약 60x60 PNG 파일을 가지고 있으며 약 2MB의 공간을 차지합니다. 코드에서 각 프레임을 하나씩 그려 애니메이션을 렌더링합니다. 예를 들어, 애니메이션 중 하나는 3 프레임으로 구성되며 각 프레임의 크기는 약 4KB입니다. 내 질문은이 이미지의 크기를 줄이기 위해 할 수있는 일이 있는지 여부입니다.공간 절약을 위해 애니메이션 프레임 결합

우리는 이미지의 투명도에 크게 의존하고 있으므로 JPG 로의 변환이 꺼져 있습니다. GIF로 변환하는 것은 옵션 이었지만 렌더링 된 이미지의 품질이 너무 낮았 기 때문에 사용할 수 있다고 생각하지 않습니다.

PNGCrush는 모든 이미지에서 약 20KB를 절약 해 주므로 도움이되지 않습니다.

애니메이션의 각 프레임 사이에는 데이터에 많은 변화가 없습니다.

답변

0

모든 이미지를 JPG로 변환하고 JPG 일 수있는 알파 채널의 역할을하는 각 이미지에 대해 다른 B & W 이미지를 만들 수 있습니다 (매우 압축 가능해야 함). 직접 투명도를 관리하십시오.

또한 모든 이미지를 하나의 큰 바이트 배열로 변환하고 LZ 변형 (LZO/ZLIB가 잘 작동 함)을 배열에 적용하면 최소한 15 %는 절약 할 수 있습니다.

0

JPEG2000을 사용하여 이미지를 저장할 수 있습니다. 그것은 아주 좋은 압축을 가지고 있으며 PNG와 마찬가지로 알파를 지원합니다 (그리고 손실 및 무손실 모드를 모두 가지고 있습니다). 그러나 부동 소수점 프로세서를 요구하는 wavelets을 사용합니다 (문제의 경우).

  • 는 JPEG 내지 제 화상 및 B/W JPEG에 알파 채널 변환 :

    다른 가능성이다.

  • 첫 번째 이미지에서 두 번째 이미지까지의 델타 (차이)를 계산하십시오.
  • 델타를 압축합니다 (다시 JPEG로).
  • 품질이 높으면 품질을 낮추십시오.
관련 문제