• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • php7教程
  • MySQL手册
  • apache手册
  • 位置: php7教程 -> PECL扩展库

    Gmagick(图像处理库)

    此扩展最适合GraphicsMagick1.4+和PHP5.1.3+版本。Gmagick应该可以使用GraphicsMagick 1.2.6之前的早期版本,但这些版本不支持某些功能和格式。GraphicsMagick的Windows版本可从GraphicsMagick网站获得。

    ImageMagick和GraphicsMagick之间的区别

    GraphicsMagick最初基于ImageMagick2002年11月发布的ImageMagick5.5.2(派生自ImageMagickStudioLLC),而ImageMagickStudioLLC于1999年8月从E.I.DuPontDeNemours和Company1992年开发的ImageMagick派生自ImageMagick1999年8月。除了作为“gm”命令的子命令执行的实用程序外,命令行语法和编程api与ImageMagick 5.5.2保持完全向上兼容。一个更好的问题可能是“ImageMagick与ImageMagick有何不同?”因为ImageMagick继续改变和发展它的接口,所以它们不再与早期版本完全兼容。虽然GraphicsMagick还添加了新的特性,但它确实保证了现有特征的工作方式。ImageMagick专注于添加新的功能和特性,自fork以来已经发生了几次显著的变化。

    GraphicsMagick维护一个稳定的发布分支,维护一个详细的变更日志,并维护一个具有完整版本历史记录的稳定源存储库,以便控制更改,并准确描述发布之间的更改。GraphicsMagick为发布分支提供持续支持。ImageMagick没有提供这些东西。

    由于GraphicsMagick更加稳定,因此花了更多的时间优化和调试其代码。

    GraphicsMagick比ImageMagick小得多,并且对外部库的依赖性大大降低。例如,在FreeBSD操作系统上,GraphicsMagick的全功能安装依赖于36个库,而ImageMagick需要64个库。GraphicsMagick的安装占用空间比ImageMagick小3-5倍。

    GraphicsMagick通常比ImageMagick快。简单命令的基线执行开销要低得多,GraphicsMagick在处理大型图像时也更高效。

    新的发行版本、下载、源文件、 维护人员信息及变更日志等,都在此处: https://pecl.php.net/package/gmagick.

    范例

    The following shows some common Gmagick image operations.

    Example #1 Gmagick Example

    <?php
    //Instantiate a new Gmagick object
    $image = new Gmagick('example.jpg');
    //Make thumbnail from image loaded. 0 for either axes preserves aspect ratio
    $image->thumbnailimage(100, 0);
    //Create a border around the image, then simulate how the image will look like as an oil painting
    //Notice the chaining of mutator methods which is supported in gmagick
    $image->borderimage("yellow", 8, 8)->oilpaintimage(0.3);
    //Write the current image at the current state to a file
    $image->write('example_thumbnail.jpg');
    ?>
    

    Gmagick类

    Gmagick 
    {
    	/* 方法 */
    	public addimage ( Gmagick $source ) : Gmagick
    	public addnoiseimage ( int $noise_type ) : Gmagick
    	public annotateimage ( GmagickDraw $GmagickDraw , float $x , float $y , float $angle , string $text ) : Gmagick
    	public blurimage ( float $radius , float $sigma [, int $channel ] ) : Gmagick
    	public borderimage ( GmagickPixel $color , int $width , int $height ) : Gmagick
    	public charcoalimage ( float $radius , float $sigma ) : Gmagick
    	public chopimage ( int $width , int $height , int $x , int $y ) : Gmagick
    	public clear ( void ) : Gmagick
    	public commentimage ( string $comment ) : Gmagick
    	public compositeimage ( Gmagick $source , int $COMPOSE , int $x , int $y ) : Gmagick
    	public __construct ([ string $filename ] )
    	public cropimage ( int $width , int $height , int $x , int $y ) : Gmagick
    	public cropthumbnailimage ( int $width , int $height ) : Gmagick
    	public current ( void ) : Gmagick
    	public cyclecolormapimage ( int $displace ) : Gmagick
    	public deconstructimages ( void ) : Gmagick
    	public despeckleimage ( void ) : Gmagick
    	public destroy ( void ) : bool
    	public drawimage ( GmagickDraw $GmagickDraw ) : Gmagick
    	public edgeimage ( float $radius ) : Gmagick
    	public embossimage ( float $radius , float $sigma ) : Gmagick
    	public enhanceimage ( void ) : Gmagick
    	public equalizeimage ( void ) : Gmagick
    	public flipimage ( void ) : Gmagick
    	public flopimage ( void ) : Gmagick
    	public frameimage ( GmagickPixel $color , int $width , int $height , int $inner_bevel , int $outer_bevel ) : Gmagick
    	public gammaimage ( float $gamma ) : Gmagick
    	public getcopyright ( void ) : string
    	public getfilename ( void ) : string
    	public getimagebackgroundcolor ( void ) : GmagickPixel
    	public getimageblueprimary ( void ) : array
    	public getimagebordercolor ( void ) : GmagickPixel
    	public getimagechanneldepth ( int $channel_type ) : int
    	public getimagecolors ( void ) : int
    	public getimagecolorspace ( void ) : int
    	public getimagecompose ( void ) : int
    	public getimagedelay ( void ) : int
    	public getimagedepth ( void ) : int
    	public getimagedispose ( void ) : int
    	public getimageextrema ( void ) : array
    	public getimagefilename ( void ) : string
    	public getimageformat ( void ) : string
    	public getimagegamma ( void ) : float
    	public getimagegreenprimary ( void ) : array
    	public getimageheight ( void ) : int
    	public getimagehistogram ( void ) : array
    	public getimageindex ( void ) : int
    	public getimageinterlacescheme ( void ) : int
    	public getimageiterations ( void ) : int
    	public getimagematte ( void ) : int
    	public getimagemattecolor ( void ) : GmagickPixel
    	public getimageprofile ( string $name ) : string
    	public getimageredprimary ( void ) : array
    	public getimagerenderingintent ( void ) : int
    	public getimageresolution ( void ) : array
    	public getimagescene ( void ) : int
    	public getimagesignature ( void ) : string
    	public getimagetype ( void ) : int
    	public getimageunits ( void ) : int
    	public getimagewhitepoint ( void ) : array
    	public getimagewidth ( void ) : int
    	public getpackagename ( void ) : string
    	public getquantumdepth ( void ) : array
    	public getreleasedate ( void ) : string
    	public getsamplingfactors ( void ) : array
    	public getsize ( void ) : array
    	public getversion ( void ) : array
    	public hasnextimage ( void ) : mixed
    	public haspreviousimage ( void ) : mixed
    	public implodeimage ( float $radius ) : mixed
    	public labelimage ( string $label ) : mixed
    	public levelimage ( float $blackPoint , float $gamma , float $whitePoint [, int $channel = Gmagick::CHANNEL_DEFAULT ] ) : mixed
    	public magnifyimage ( void ) : mixed
    	public mapimage ( gmagick $gmagick , bool $dither ) : Gmagick
    	public medianfilterimage ( float $radius ) : void
    	public minifyimage ( void ) : Gmagick
    	public modulateimage ( float $brightness , float $saturation , float $hue ) : Gmagick
    	public motionblurimage ( float $radius , float $sigma , float $angle ) : Gmagick
    	public newimage ( int $width , int $height , string $background [, string $format ] ) : Gmagick
    	public nextimage ( void ) : bool
    	public normalizeimage ([ int $channel ] ) : Gmagick
    	public oilpaintimage ( float $radius ) : Gmagick
    	public previousimage ( void ) : bool
    	public profileimage ( string $name , string $profile ) : Gmagick
    	public quantizeimage ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError ) : Gmagick
    	public quantizeimages ( int $numColors , int $colorspace , int $treeDepth , bool $dither , bool $measureError ) : Gmagick
    	public queryfontmetrics ( GmagickDraw $draw , string $text ) : array
    	public queryfonts ([ string $pattern = "*" ] ) : array
    	public queryformats ([ string $pattern = "*" ] ) : array
    	public radialblurimage ( float $angle [, int $channel = Gmagick::CHANNEL_DEFAULT ] ) : Gmagick
    	public raiseimage ( int $width , int $height , int $x , int $y , bool $raise ) : Gmagick
    	public read ( string $filename ) : Gmagick
    	public readimage ( string $filename ) : Gmagick
    	public readimageblob ( string $imageContents [, string $filename ] ) : Gmagick
    	public readimagefile ( resource $fp [, string $filename ] ) : Gmagick
    	public reducenoiseimage ( float $radius ) : Gmagick
    	public removeimage ( void ) : Gmagick
    	public removeimageprofile ( string $name ) : string
    	public resampleimage ( float $xResolution , float $yResolution , int $filter , float $blur ) : Gmagick
    	public resizeimage ( int $width , int $height , int $filter , float $blur [, bool $fit = FALSE ] ) : Gmagick
    	public rollimage ( int $x , int $y ) : Gmagick
    	public rotateimage ( mixed $color , float $degrees ) : Gmagick
    	public scaleimage ( int $width , int $height [, bool $fit = FALSE ] ) : Gmagick
    	public separateimagechannel ( int $channel ) : Gmagick
    	setCompressionQuality ( int $quality = 75 ) : Gmagick
    	public setfilename ( string $filename ) : Gmagick
    	public setimagebackgroundcolor ( GmagickPixel $color ) : Gmagick
    	public setimageblueprimary ( float $x , float $y ) : Gmagick
    	public setimagebordercolor ( GmagickPixel $color ) : Gmagick
    	public setimagechanneldepth ( int $channel , int $depth ) : Gmagick
    	public setimagecolorspace ( int $colorspace ) : Gmagick
    	public setimagecompose ( int $composite ) : Gmagick
    	public setimagedelay ( int $delay ) : Gmagick
    	public setimagedepth ( int $depth ) : Gmagick
    	public setimagedispose ( int $disposeType ) : Gmagick
    	public setimagefilename ( string $filename ) : Gmagick
    	public setimageformat ( string $imageFormat ) : Gmagick
    	public setimagegamma ( float $gamma ) : Gmagick
    	public setimagegreenprimary ( float $x , float $y ) : Gmagick
    	public setimageindex ( int $index ) : Gmagick
    	public setimageinterlacescheme ( int $interlace ) : Gmagick
    	public setimageiterations ( int $iterations ) : Gmagick
    	public setimageprofile ( string $name , string $profile ) : Gmagick
    	public setimageredprimary ( float $x , float $y ) : Gmagick
    	public setimagerenderingintent ( int $rendering_intent ) : Gmagick
    	public setimageresolution ( float $xResolution , float $yResolution ) : Gmagick
    	public setimagescene ( int $scene ) : Gmagick
    	public setimagetype ( int $imgType ) : Gmagick
    	public setimageunits ( int $resolution ) : Gmagick
    	public setimagewhitepoint ( float $x , float $y ) : Gmagick
    	public setsamplingfactors ( array $factors ) : Gmagick
    	public setsize ( int $columns , int $rows ) : Gmagick
    	public shearimage ( mixed $color , float $xShear , float $yShear ) : Gmagick
    	public solarizeimage ( int $threshold ) : Gmagick
    	public spreadimage ( float $radius ) : Gmagick
    	public stripimage ( void ) : Gmagick
    	public swirlimage ( float $degrees ) : Gmagick
    	public thumbnailimage ( int $width , int $height [, bool $fit = FALSE ] ) : Gmagick
    	public trimimage ( float $fuzz ) : Gmagick
    	public writeimage ( string $filename [, bool $all_frames = FALSE ] ) : Gmagick
    }
    

    GmagickDraw类

    GmagickDraw
    {
    	/* 方法 */
    	public annotate ( float $x , float $y , string $text ) : GmagickDraw
    	public arc ( float $sx , float $sy , float $ex , float $ey , float $sd , float $ed ) : GmagickDraw
    	public bezier ( array $coordinate_array ) : GmagickDraw
    	public ellipse ( float $ox , float $oy , float $rx , float $ry , float $start , float $end ) : GmagickDraw
    	public getfillcolor ( void ) : GmagickPixel
    	public getfillopacity ( void ) : float
    	public getfont ( void ) : mixed
    	public getfontsize ( void ) : float
    	public getfontstyle ( void ) : int
    	public getfontweight ( void ) : int
    	public getstrokecolor ( void ) : GmagickPixel
    	public getstrokeopacity ( void ) : float
    	public getstrokewidth ( void ) : float
    	public gettextdecoration ( void ) : int
    	public gettextencoding ( void ) : mixed
    	public line ( float $sx , float $sy , float $ex , float $ey ) : GmagickDraw
    	public point ( float $x , float $y ) : GmagickDraw
    	public polygon ( array $coordinates ) : GmagickDraw
    	public polyline ( array $coordinate_array ) : GmagickDraw
    	public rectangle ( float $x1 , float $y1 , float $x2 , float $y2 ) : GmagickDraw
    	public rotate ( float $degrees ) : GmagickDraw
    	public roundrectangle ( float $x1 , float $y1 , float $x2 , float $y2 , float $rx , float $ry ) : GmagickDraw
    	public scale ( float $x , float $y ) : GmagickDraw
    	public setfillcolor ( mixed $color ) : GmagickDraw
    	public setfillopacity ( float $fill_opacity ) : GmagickDraw
    	public setfont ( string $font ) : GmagickDraw
    	public setfontsize ( float $pointsize ) : GmagickDraw
    	public setfontstyle ( int $style ) : GmagickDraw
    	public setfontweight ( int $weight ) : GmagickDraw
    	public setstrokecolor ( mixed $color ) : GmagickDraw
    	public setstrokeopacity ( float $stroke_opacity ) : GmagickDraw
    	public setstrokewidth ( float $width ) : GmagickDraw
    	public settextdecoration ( int $decoration ) : GmagickDraw
    	public settextencoding ( string $encoding ) : GmagickDraw
    }
    

    GmagickPixel类

    GmagickPixel
    {
    	/* 方法 */
    	public __construct ([ string $color ] )
    	public getcolor ([ bool $as_array = FALSE [, bool $normalize_array = FALSE ]] ) : mixed
    	public getcolorcount ( void ) : int
    	public getcolorvalue ( int $color ) : float
    	public setcolor ( string $color ) : GmagickPixel
    	public setcolorvalue ( int $color , float $value ) : GmagickPixel
    }