Gmagick

Gmagick

ImageMagick 계열의 그래픽 라이브러리로 이미지를 만들고 다듬고 싶을 때, Gmagick은 GraphicsMagick API를 PHP에서 그대로 쓰게 해 주는 확장이에요. 다만 이 확장은 EXPERIMENTAL(실험적) 상태라는 점을 먼저 알고 시작할게요.

출처: Gmagick

본문

Gmagick은 GraphicsMagick API를 사용해 이미지를 생성·수정하고 메타 정보를 얻기 위한 PHP 확장이에요.

GraphicsMagick은 스스로를 이미지 처리의 스위스 아미 나이프라고 자랑해요. DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM, TIFF 같은 중요한 형식을 포함해 88개가 넘는 주요 형식을 다룰 수 있어요.

Gmagick은 크게 세 부분으로 구성돼요. 메인 Gmagick 클래스, 사실상 그리기용 마법봉(drawing wand)인 GmagickDraw 클래스, 그리고 인스턴스 하나가 이미지의 단일 픽셀(색상, 불투명도)을 나타내는 GmagickPixel 클래스요.

이 확장은 EXPERIMENTAL(실험적) 상태예요. 함수 이름을 포함한 동작이 PHP의 향후 릴리스에서 예고 없이 바뀔 수 있어요. 사용에 따른 위험은 사용자가 감수해야 해요.

Gmagick 클래스

  • Gmagick — Gmagick 클래스
  • Gmagick::addimage — Gmagick 객체 이미지 목록에 새 이미지 추가
  • Gmagick::addnoiseimage — 이미지에 임의 노이즈 추가
  • Gmagick::annotateimage — 이미지에 텍스트로 주석
  • Gmagick::blurimage — 이미지에 블러 필터 추가
  • Gmagick::borderimage — 이미지를 테두리로 감싸기
  • Gmagick::charcoalimage — 목탄 스케치 시뮬레이션
  • Gmagick::chopimage — 이미지 영역 제거 및 자르기
  • Gmagick::clear — Gmagick 객체와 관련된 모든 리소스 정리
  • Gmagick::commentimage — 이미지에 주석 추가
  • Gmagick::compositeimage — 한 이미지를 다른 이미지 위에 합성
  • Gmagick::__construct — Gmagick 생성자
  • Gmagick::cropimage — 이미지 영역 추출
  • Gmagick::cropthumbnailimage — 크롭 썸네일 생성
  • Gmagick::current — 현재 목적
  • Gmagick::cyclecolormapimage — 이미지의 컬러맵 이동
  • Gmagick::deconstructimages — 이미지 간 특정 픽셀 차이 반환
  • Gmagick::despeckleimage — despeckleimage 목적
  • Gmagick::destroy — destroy 목적
  • Gmagick::drawimage — 현재 이미지에 GmagickDraw 객체 렌더링
  • Gmagick::edgeimage — 이미지 내 가장자리 강화
  • Gmagick::embossimage — 3차원 효과의 회색조 이미지 반환
  • Gmagick::enhanceimage — 노이즈가 많은 이미지의 품질 개선
  • Gmagick::equalizeimage — 이미지 히스토그램 평활화
  • Gmagick::flipimage — 세로 반전 이미지 생성
  • Gmagick::flopimage — 가로 반전 이미지 생성
  • Gmagick::frameimage — 시뮬레이션된 3차원 테두리 추가
  • Gmagick::gammaimage — 이미지 감마 보정
  • Gmagick::getcopyright — GraphicsMagick API 저작권을 문자열로 반환
  • Gmagick::getfilename — 이미지 시퀀스와 연결된 파일명
  • Gmagick::getimagebackgroundcolor — 이미지 배경색 반환
  • Gmagick::getimageblueprimary — 색도(chromaticity) 파랑 기본점 반환
  • Gmagick::getimagebordercolor — 이미지 테두리 색상 반환
  • Gmagick::getimagechanneldepth — 특정 이미지 채널의 깊이 가져오기
  • Gmagick::getimagecolors — 지정된 컬러맵 인덱스의 색상 반환
  • Gmagick::getimagecolorspace — 이미지 색공간 가져오기
  • Gmagick::getimagecompose — 이미지와 연결된 합성 연산자 반환
  • Gmagick::getimagedelay — 이미지 지연 가져오기
  • Gmagick::getimagedepth — 이미지 깊이 가져오기
  • Gmagick::getimagedispose — 이미지 처리(disposal) 방법 가져오기
  • Gmagick::getimageextrema — 이미지의 극값 가져오기
  • Gmagick::getimagefilename — 시퀀스에서 특정 이미지의 파일명 반환
  • Gmagick::getimageformat — 시퀀스에서 특정 이미지의 형식 반환
  • Gmagick::getimagegamma — 이미지 감마 가져오기
  • Gmagick::getimagegreenprimary — 색도 초록 기본점 반환
  • Gmagick::getimageheight — 이미지 높이 반환
  • Gmagick::getimagehistogram — 이미지 히스토그램 가져오기
  • Gmagick::getimageindex — 현재 활성 이미지의 인덱스 가져오기
  • Gmagick::getimageinterlacescheme — 이미지 인터레이스 방식 가져오기
  • Gmagick::getimageiterations — 이미지 반복 횟수 가져오기
  • Gmagick::getimagematte — 이미지에 매트 채널이 있는지 확인
  • Gmagick::getimagemattecolor — 이미지 매트 색상 반환
  • Gmagick::getimageprofile — 지정된 이미지 프로파일 반환
  • Gmagick::getimageredprimary — 색도 빨강 기본점 반환
  • Gmagick::getimagerenderingintent — 이미지 렌더링 의도 가져오기
  • Gmagick::getimageresolution — 이미지 X·Y 해상도 가져오기
  • Gmagick::getimagescene — 이미지 씬 가져오기
  • Gmagick::getimagesignature — SHA-256 메시지 다이제스트 생성
  • Gmagick::getimagetype — 가능한 이미지 타입 가져오기
  • Gmagick::getimageunits — 해상도의 이미지 단위 가져오기
  • Gmagick::getimagewhitepoint — 색도 백색점 반환
  • Gmagick::getimagewidth — 이미지 너비 반환
  • Gmagick::getpackagename — GraphicsMagick 패키지 이름 반환
  • Gmagick::getquantumdepth — Gmagick 양자 깊이를 문자열로 반환
  • Gmagick::getreleasedate — GraphicsMagick 릴리스 날짜를 문자열로 반환
  • Gmagick::getsamplingfactors — 가로·세로 샘플링 계수 가져오기
  • Gmagick::getsize — Gmagick 객체와 연결된 크기 반환
  • Gmagick::getversion — GraphicsMagick API 버전 반환
  • Gmagick::hasnextimage — 객체에 더 많은 이미지가 있는지 확인
  • Gmagick::haspreviousimage — 객체에 이전 이미지가 있는지 확인
  • Gmagick::implodeimage — 복사본으로서의 새 이미지 생성
  • Gmagick::labelimage — 이미지에 라벨 추가
  • Gmagick::levelimage — 이미지 레벨 조정
  • Gmagick::magnifyimage — 이미지를 비례적으로 2배 스케일
  • Gmagick::mapimage — 참조 이미지의 가장 가까운 색상으로 이미지 색상 대체
  • Gmagick::medianfilterimage — 디지털 필터 적용
  • Gmagick::minifyimage — 이미지를 크기의 절반으로 비례 스케일
  • Gmagick::modulateimage — 밝기·채도·색조 제어
  • Gmagick::motionblurimage — 모션 블러 시뮬레이션
  • Gmagick::newimage — 새 이미지 생성
  • Gmagick::nextimage — 다음 이미지로 이동
  • Gmagick::normalizeimage — 컬러 이미지의 대비 향상
  • Gmagick::oilpaintimage — 유화 시뮬레이션
  • Gmagick::previousimage — 객체의 이전 이미지로 이동
  • Gmagick::profileimage — 이미지에 프로파일 추가·제거
  • Gmagick::quantizeimage — 참조 이미지 내 색상 분석
  • Gmagick::quantizeimages — quantizeimages 목적
  • Gmagick::queryfontmetrics — 글꼴 메트릭을 나타내는 배열 반환
  • Gmagick::queryfonts — 구성된 글꼴 반환
  • Gmagick::queryformats — Gmagick이 지원하는 형식 반환
  • Gmagick::radialblurimage — 이미지를 방사형 블러
  • Gmagick::raiseimage — 시뮬레이션된 3D 버튼 효과 생성
  • Gmagick::read — 파일명에서 이미지 읽기
  • Gmagick::readimage — 파일명에서 이미지 읽기
  • Gmagick::readimageblob — 이진 문자열에서 이미지 읽기
  • Gmagick::readimagefile — readimagefile 목적
  • Gmagick::reducenoiseimage — 이미지 윤곽 평활화
  • Gmagick::removeimage — 이미지 목록에서 이미지 제거
  • Gmagick::removeimageprofile — 지정된 이미지 프로파일 제거·반환
  • Gmagick::resampleimage — 원하는 해상도로 이미지 리샘플
  • Gmagick::resizeimage — 이미지 스케일
  • Gmagick::rollimage — 이미지 오프셋
  • Gmagick::rotateimage — 이미지 회전
  • Gmagick::scaleimage — 이미지 크기 스케일
  • Gmagick::separateimagechannel — 이미지에서 채널 분리
  • Gmagick::setCompressionQuality — 객체의 기본 압축 품질 설정
  • Gmagick::setfilename — 이미지를 읽거나 쓰기 전에 파일명 설정
  • Gmagick::setimagebackgroundcolor — 이미지 배경색 설정
  • Gmagick::setimageblueprimary — 이미지 색도 파랑 기본점 설정
  • Gmagick::setimagebordercolor — 이미지 테두리 색상 설정
  • Gmagick::setimagechanneldepth — 특정 이미지 채널의 깊이 설정
  • Gmagick::setimagecolorspace — 이미지 색공간 설정
  • Gmagick::setimagecompose — 이미지 합성 연산자 설정
  • Gmagick::setimagedelay — 이미지 지연 설정
  • Gmagick::setimagedepth — 이미지 깊이 설정
  • Gmagick::setimagedispose — 이미지 처리 방법 설정
  • Gmagick::setimagefilename — 시퀀스에서 특정 이미지의 파일명 설정
  • Gmagick::setimageformat — 특정 이미지의 형식 설정
  • Gmagick::setimagegamma — 이미지 감마 설정
  • Gmagick::setimagegreenprimary — 이미지 색도 초록 기본점 설정
  • Gmagick::setimageindex — index 매개변수로 지정된 이미지 목록 위치로 반복자 설정
  • Gmagick::setimageinterlacescheme — 이미지 인터레이스 방식 설정
  • Gmagick::setimageiterations — 이미지 반복 횟수 설정
  • Gmagick::setimageprofile — Gmagick 객체에 지정 프로파일 추가
  • Gmagick::setimageredprimary — 이미지 색도 빨강 기본점 설정
  • Gmagick::setimagerenderingintent — 이미지 렌더링 의도 설정
  • Gmagick::setimageresolution — 이미지 해상도 설정
  • Gmagick::setimagescene — 이미지 씬 설정
  • Gmagick::setimagetype — 이미지 타입 설정
  • Gmagick::setimageunits — 해상도의 이미지 단위 설정
  • Gmagick::setimagewhitepoint — 이미지 색도 백색점 설정
  • Gmagick::setsamplingfactors — 이미지 샘플링 계수 설정
  • Gmagick::setsize — Gmagick 객체의 크기 설정
  • Gmagick::shearimage — 평행사변형 생성
  • Gmagick::solarizeimage — 솔라라이즈 효과 적용
  • Gmagick::spreadimage — 블록 내 각 픽셀을 임의로 이동
  • Gmagick::stripimage — 이미지에서 모든 프로파일·주석 제거
  • Gmagick::swirlimage — 이미지 중심 주위로 픽셀 소용돌이
  • Gmagick::thumbnailimage — 이미지 크기 변경
  • Gmagick::trimimage — 이미지 가장자리 제거
  • Gmagick::writeGmagick::writeimage 의 별칭
  • Gmagick::writeimage — 지정된 파일명으로 이미지 쓰기

GmagickDraw 클래스

  • GmagickDraw — GmagickDraw 클래스
  • GmagickDraw::annotate — 이미지에 텍스트 그리기
  • GmagickDraw::arc — 호 그리기
  • GmagickDraw::bezier — 베지어 곡선 그리기
  • GmagickDraw::ellipse — 이미지에 타원 그리기
  • GmagickDraw::getfillcolor — 채우기 색상 반환
  • GmagickDraw::getfillopacity — 그릴 때 사용하는 불투명도 반환
  • GmagickDraw::getfont — 글꼴 반환
  • GmagickDraw::getfontsize — 글꼴 포인트 크기 반환
  • GmagickDraw::getfontstyle — 글꼴 스타일 반환
  • GmagickDraw::getfontweight — 글꼴 굵기 반환
  • GmagickDraw::getstrokecolor — 객체 윤곽선 그리기에 사용되는 색상 반환
  • GmagickDraw::getstrokeopacity — 객체 윤곽선의 불투명도 반환
  • GmagickDraw::getstrokewidth — 객체 윤곽선 그리기에 사용되는 선 두께 반환
  • GmagickDraw::gettextdecoration — 텍스트 장식 반환
  • GmagickDraw::gettextencoding — 텍스트 주석에 사용되는 코드 집합 반환
  • GmagickDraw::line — 선 그리기
  • GmagickDraw::point — 점 그리기
  • GmagickDraw::polygon — 다각형 그리기
  • GmagickDraw::polyline — 폴리라인 그리기
  • GmagickDraw::rectangle — 사각형 그리기
  • GmagickDraw::rotate — 현재 좌표 공간에 지정된 회전 적용
  • GmagickDraw::roundrectangle — 둥근 사각형 그리기
  • GmagickDraw::scale — 스케일 계수 조정
  • GmagickDraw::setfillcolor — 채워진 객체 그리기에 사용할 채우기 색상 설정
  • GmagickDraw::setfillopacity — setfillopacity 목적
  • GmagickDraw::setfont — 텍스트 주석에 사용할 완전 지정 글꼴 설정
  • GmagickDraw::setfontsize — 텍스트 주석에 사용할 글꼴 포인트 크기 설정
  • GmagickDraw::setfontstyle — 텍스트 주석에 사용할 글꼴 스타일 설정
  • GmagickDraw::setfontweight — 글꼴 굵기 설정
  • GmagickDraw::setstrokecolor — 객체 윤곽선 그리기에 사용되는 색상 설정
  • GmagickDraw::setstrokeopacity — 객체 윤곽선의 불투명도 지정
  • GmagickDraw::setstrokewidth — 객체 윤곽선 그리기에 사용되는 선 두께 설정
  • GmagickDraw::settextdecoration — 장식 지정
  • GmagickDraw::settextencoding — 텍스트 코드 집합 지정

GmagickPixel 클래스

  • GmagickPixel — GmagickPixel 클래스
  • GmagickPixel::__construct — GmagickPixel 생성자
  • GmagickPixel::getcolor — 색상 반환
  • GmagickPixel::getcolorcount — 이 색상과 연결된 색상 수 반환
  • GmagickPixel::getcolorvalue — 제공된 색상 채널의 정규화된 값 가져오기
  • GmagickPixel::setcolor — 색상 설정
  • GmagickPixel::setcolorvalue — 채널 중 하나의 정규화된 값 설정

예외 클래스

  • GmagickException — GmagickException 클래스
  • GmagickPixelException — GmagickPixelException 클래스

더 알아보기

  • Gmagick과 Imagick은 같은 계열이지만 기반 라이브러리가 달라요(각각 GraphicsMagick, ImageMagick). 지원하는 형식과 동작이 조금씩 다를 수 있으니 환경에 맞춰 선택하면 돼요.