복붙노트

[PYTHON] PNG 최적화 도구

PYTHON

PNG 최적화 도구

잠시 뒤로 PNG 최적화 서비스를 사용하여 "잘랐습니다"라고 생각했습니다. 당신은 웹 링크를주고, 파일 크기가 멋지게, 잘게, smushed로 모든 PNG 이미지의 지퍼를 반환했습니다 ...

내 웹 사이트의 이미지 업로드 프로세스의 일부로 비슷한 최적화 기능을 구현하고 싶습니다. 누구든지 내가 이것을 활용할 수있는 선재 라이브러리 (PHP 또는 Python 선호)를 알고 있습니까? 간단한 구글이 몇 가지 커맨드 라인 스타일 툴을 가르쳐 주었지만 가능한 한 그 루트를 내려 가지 않았다.

해결법

  1. ==============================

    1.이 명령 행 도구로 PHP로 실행

    이 명령 행 도구로 PHP로 실행

      pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB -brute -l 9 -max -reduce -m 0 -q IMAGE
      optipng -o7 -q pngout.png
      pngout pngout.png -q -y -k0 -s0
      advpng -z -4 pngout.png > /dev/null
    
  2. ==============================

    2.PHP가 GD2 지원으로 컴파일되는 한 (요즘에는 매우 일반적입니다) :

    PHP가 GD2 지원으로 컴파일되는 한 (요즘에는 매우 일반적입니다) :

    <?php
    $image = imagecreatefromstring(file_get_contents('/path/to/image.original.png'));
    imagepng($image, '/path/to/image.smushed.png', 9);
    

    이것은 GD2가 이해하는 (PNG뿐만 아니라) 모든 이미지 형식으로 읽고 품질을 희생하지 않고 최대 압축 수준으로 gzipped PNG를 출력합니다.

    그것은 년보다는 전에 오늘 사용의보다 적게일지도 모르다; 대부분의 이미지 편집자들은 gzipping이 이전처럼 CPU를 많이 사용하지 않기 때문에 이미이 작업을 수행합니다.

  3. ==============================

    3.PNGCrush에 대해 들어 보셨습니까? SourceForge에서 PNG 및 MNG 도구의 소스를 체크 아웃하고 파이썬으로 변환하거나 줄 바꿈 할 수 있습니다.

    PNGCrush에 대해 들어 보셨습니까? SourceForge에서 PNG 및 MNG 도구의 소스를 체크 아웃하고 파이썬으로 변환하거나 줄 바꿈 할 수 있습니다.

  4. ==============================

    4.나는 다른 덩어리 (gAMA와 iCCP와 같은)를 버리는 지혜에 의문을 제기하고 싶다.하지만 그렇게하고 싶다면 PyPNG를 사용하여 덩어리를 제거하는 것이 상당히 쉽다.

    나는 다른 덩어리 (gAMA와 iCCP와 같은)를 버리는 지혜에 의문을 제기하고 싶다.하지만 그렇게하고 싶다면 PyPNG를 사용하여 덩어리를 제거하는 것이 상당히 쉽다.

    #!/usr/bin/env python
    import png
    import sys
    
    input=sys.stdin
    out=sys.stdout
    
    def critical_chunks(chunks):
        for type,data in chunks:
            if type[0].isupper():
                yield type,data
    
    chunks = png.Reader(file=input).chunks()
    png.write_chunks(out, critical_chunks(chunks))
    

    critical_chunks 함수는 본질적으로 중요한 PNG 청크를 제외한 모든 것을 필터링합니다 (중요한 청크의 4 문자 유형은 대문자로 시작합니다).

  5. from https://stackoverflow.com/questions/1993678/png-optimisation-tools by cc-by-sa and MIT license