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::write—Gmagick::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). 지원하는 형식과 동작이 조금씩 다를 수 있으니 환경에 맞춰 선택하면 돼요.