Module: GD2

Defined in:
lib/gd2/font.rb,
lib/gd2.rb,
lib/gd2/color.rb,
lib/gd2/canvas.rb,
lib/gd2/palette.rb

Overview

Ruby/GD2 – Ruby binding for gd 2 graphics library

Copyright © 2005 Robert Leslie

This file is part of Ruby/GD2.

Ruby/GD2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Defined Under Namespace

Classes: Canvas, Color, Font, LibraryError, Palette

Constant Summary collapse

VERSION =
'1.1'.freeze
LIB =
DL.dlopen(Config::CONFIG['arch'].include?('powerpc-darwin') ?
'libgd.2.dylib' : 'libgd.so.2')
SYM =
{
  :gdImageCreate                      => 'PII',
  :gdImageCreateTrueColor             => 'PII',
  :gdImageCreatePaletteFromTrueColor  => 'PPII',
  :gdImageCreateFromJpeg              => 'PP',
  :gdImageCreateFromJpegPtr           => 'PIP',
  :gdImageCreateFromPng               => 'PP',
  :gdImageCreateFromPngPtr            => 'PIP',
  :gdImageCreateFromGif               => 'PP',
  :gdImageCreateFromGifPtr            => 'PIP',
  :gdImageCreateFromWBMP              => 'PP',
  :gdImageCreateFromWBMPPtr           => 'PIP',
  :gdImageCreateFromGd                => 'PP',
  :gdImageCreateFromGdPtr             => 'PIP',
  :gdImageCreateFromGd2               => 'PP',
  :gdImageCreateFromGd2Ptr            => 'PIP',
  :gdImageCreateFromGd2Part           => 'PPIIII',
  :gdImageCreateFromXbm               => 'PP',
  :gdImageCreateFromXpm               => 'PS',
  :gdImageCompare                     => 'IPP',
  :gdImageJpeg                        => '0PPI',
  :gdImageJpegPtr                     => 'PPiI',
  :gdImagePngEx                       => '0PPI',
  :gdImagePngPtrEx                    => 'PPiI',
  :gdImageGif                         => '0PP',
  :gdImageGifPtr                      => 'PPi',
  :gdImageWBMP                        => '0PIP',
  :gdImageWBMPPtr                     => 'PPiI',
  :gdImageGd                          => '0PP',
  :gdImageGdPtr                       => 'PPi',
  :gdImageGd2                         => '0PPII',
  :gdImageGd2Ptr                      => 'PPIIi',
  :gdImageDestroy                     => '0P',
  :gdImageSetPixel                    => '0PIII',
  :gdImageGetPixel                    => 'IPII',
  :gdImageGetTrueColorPixel           => 'IPII',
  :gdImageLine                        => '0PIIIII',
  :gdImageRectangle                   => '0PIIIII',
  :gdImageFilledRectangle             => '0PIIIII',
  :gdImagePolygon                     => '0PPII',
  :gdImageOpenPolygon                 => '0PPII',
  :gdImageFilledPolygon               => '0PPII',
  :gdImageArc                         => '0PIIIIIII',
  :gdImageFilledArc                   => '0PIIIIIIII',
#   :gdImageEllipse                     => '0PIIIII',
  :gdImageFilledEllipse               => '0PIIIII',
  :gdImageFill                        => '0PIII',
  :gdImageFillToBorder                => '0PIIII',
  :gdImageSetClip                     => '0PIIII',
  :gdImageGetClip                     => '0Piiii',
  :gdImageBoundsSafe                  => 'IPII',
  :gdImageSetBrush                    => '0PP',
  :gdImageSetTile                     => '0PP',
  :gdImageSetAntiAliased              => '0PI',
  :gdImageSetAntiAliasedDontBlend     => '0PII',
  :gdImageSetStyle                    => '0PAI',
  :gdImageSetThickness                => '0PI',
  :gdImageInterlace                   => '0PI',
  :gdImageAlphaBlending               => '0PI',
  :gdImageSaveAlpha                   => '0PI',
  :gdImageColorTransparent            => '0PI',
  :gdImageColorResolveAlpha           => 'IPIIII',
  :gdImageColorExactAlpha             => 'IPIIII',
  :gdImageColorClosestAlpha           => 'IPIIII',
  :gdImageColorClosestHWB             => 'IPIII',
  :gdImageColorAllocateAlpha          => 'IPIIII',
  :gdImageColorDeallocate             => '0PI',
  :gdAlphaBlend                       => 'III',
  :gdImageCopy                        => '0PPIIIIII',
  :gdImageCopyResized                 => '0PPIIIIIIII',
  :gdImageCopyResampled               => '0PPIIIIIIII',
  :gdImageCopyRotated                 => '0PPDDIIIII',
  :gdImageCopyMerge                   => '0PPIIIIIII',
  :gdImageCopyMergeGray               => '0PPIIIIIII',
  :gdImageSquareToCircle              => 'PPI',
  :gdImageSharpen                     => '0PI',
  :gdImageChar                        => '0PPIIII',
  :gdImageCharUp                      => '0PPIIII',
  :gdImageString                      => '0PPIISI',
  :gdImageStringUp                    => '0PPIISI',
  :gdImageStringFTEx                  => 'SPaISDDIISP',
  :gdImageStringFTCircle              => 'SPIIDDDSDSSI',
  :gdFontGetSmall                     => 'P',
  :gdFontGetLarge                     => 'P',
  :gdFontGetMediumBold                => 'P',
  :gdFontGetGiant                     => 'P',
  :gdFontGetTiny                      => 'P',
  :gdFontCacheSetup                   => 'I',
  :gdFontCacheShutdown                => '0',
  :gdFTUseFontConfig                  => 'II',
  :gdFree                             => '0P'
}.inject({}) { |x, (k, v)| x[k] = LIB[k.to_s, v]; x }
CMP_IMAGE =

Bit flags for Image#compare

1
CMP_NUM_COLORS =

Actual image IS different

2
CMP_COLOR =

Number of Colours in pallette differ

4
CMP_SIZE_X =

Image colours differ

8
CMP_SIZE_Y =

Image width differs

16
CMP_TRANSPARENT =

Image heights differ

32
CMP_BACKGROUND =

Transparent colour

64
CMP_INTERLACE =

Background colour

128
CMP_TRUECOLOR =

Interlaced setting

256
FMT_RAW =

Format flags for Image#gd2

1
FMT_COMPRESSED =
2
MAX_COLORS =

Color constants

256
RGB_MAX =
255
ALPHA_MAX =
127
ALPHA_OPAQUE =
0
ALPHA_TRANSPARENT =
127