[PYTHON] PNG 최적화 도구
PYTHONPNG 최적화 도구
잠시 뒤로 PNG 최적화 서비스를 사용하여 "잘랐습니다"라고 생각했습니다. 당신은 웹 링크를주고, 파일 크기가 멋지게, 잘게, smushed로 모든 PNG 이미지의 지퍼를 반환했습니다 ...
내 웹 사이트의 이미지 업로드 프로세스의 일부로 비슷한 최적화 기능을 구현하고 싶습니다. 누구든지 내가 이것을 활용할 수있는 선재 라이브러리 (PHP 또는 Python 선호)를 알고 있습니까? 간단한 구글이 몇 가지 커맨드 라인 스타일 툴을 가르쳐 주었지만 가능한 한 그 루트를 내려 가지 않았다.
해결법
-
==============================
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.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.PNGCrush에 대해 들어 보셨습니까? SourceForge에서 PNG 및 MNG 도구의 소스를 체크 아웃하고 파이썬으로 변환하거나 줄 바꿈 할 수 있습니다.
PNGCrush에 대해 들어 보셨습니까? SourceForge에서 PNG 및 MNG 도구의 소스를 체크 아웃하고 파이썬으로 변환하거나 줄 바꿈 할 수 있습니다.
-
==============================
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 문자 유형은 대문자로 시작합니다).
from https://stackoverflow.com/questions/1993678/png-optimisation-tools by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 가로 세로 비율을 유지하면서 크기를 조정하고 세로 및 가로 이미지를 정확히 동일한 크기로 만드시겠습니까? (0) | 2018.10.28 |
---|---|
[PYTHON] Boto ec2 인스턴스에서 셸 명령을 실행합니다. (0) | 2018.10.28 |
[PYTHON] AWS 탄두에 구조화 된 Flask 앱을 배치하는 방법 (0) | 2018.10.28 |
[PYTHON] wxPython WebView 예제 (0) | 2018.10.28 |
[PYTHON] numpy에서 다차원 배열의 자기 상관 (0) | 2018.10.28 |