Image-Magick

 view release on metacpan or  search on metacpan

Magick.xs  view on Meta::CPAN

    { "AutoLevel", { {"channel", MagickChannelOptions} } },
    { "LevelColors", { {"invert", MagickBooleanOptions},
      {"black-point", StringReference}, {"white-point", StringReference},
      {"channel", MagickChannelOptions}, {"invert", MagickBooleanOptions} } },
    { "Clamp", { {"channel", MagickChannelOptions} } },
    { "BrightnessContrast", { {"levels", StringReference},
      {"brightness", RealReference},{"contrast", RealReference},
      {"channel", MagickChannelOptions} } },
    { "Morphology", { {"kernel", StringReference},
      {"channel", MagickChannelOptions}, {"method", MagickMorphologyOptions},
      {"iterations", IntegerReference} } },
    { "Mode", { {"geometry", StringReference},
      {"width", IntegerReference},{"height", IntegerReference},
      {"channel", MagickChannelOptions} } },
    { "Statistic", { {"geometry", StringReference},
      {"width", IntegerReference},{"height", IntegerReference},
      {"channel", MagickChannelOptions}, {"type", MagickStatisticOptions} } },
    { "Perceptible", { {"epsilon", RealReference},
      {"channel", MagickChannelOptions} } },
    { "Poly", { {"terms", ArrayReference},
      {"channel", MagickChannelOptions} } },

Magick.xs  view on Meta::CPAN

    { "Colorspace", { {"colorspace", MagickColorspaceOptions} } },
    { "AutoThreshold", { {"method", MagickAutoThresholdOptions} } },
    { "RangeThreshold", { {"geometry", StringReference},
      {"low-black", RealReference}, {"low-white", RealReference},
      {"high-white", RealReference}, {"high-black", RealReference},
      {"channel", MagickChannelOptions} } },
    { "CLAHE", { {"geometry", StringReference}, {"width", IntegerReference},
      {"height", IntegerReference}, {"number-bins", IntegerReference},
      {"clip-limit", RealReference} } },
    { "Kmeans", { {"geometry", StringReference}, {"colors", IntegerReference},
      {"iterations", IntegerReference}, {"tolerance", RealReference} } },
    { "ColorThreshold", { {"start-color", StringReference},
      {"stop-color", StringReference}, {"channel", MagickChannelOptions} } },
    { "WhiteBalance", { { (const char *) NULL, NullReference } } },
    { "BilateralBlur", { {"geometry", StringReference},
      {"width", IntegerReference}, {"height", IntegerReference},
      {"intensity-sigma", RealReference}, {"spatial-sigma", RealReference},
      {"channel", MagickChannelOptions} } },
    { "SortPixels", { { (const char *) NULL, NullReference } } },
    { "Integral", { { (const char *) NULL, NullReference } } },
  };

Magick.xs  view on Meta::CPAN

              {
                items=sscanf(SvPV(sval,na),"%ld",&index);
                if ((index >= 0) && (index < (ssize_t) image->colors))
                  SetPixelIndex(image,index,q);
                (void) SyncCacheViewAuthenticPixels(image_view,exception);
              }
            image_view=DestroyCacheView(image_view);
          }
          break;
        }
      if (LocaleCompare(attribute,"iterations") == 0)
        {
  iterations:
          for ( ; image; image=image->next)
            image->iterations=(size_t) SvIV(sval);
          break;
        }
      if (LocaleCompare(attribute,"interlace") == 0)
        {
          sp=SvPOK(sval) ? ParseCommandOption(MagickInterlaceOptions,
            MagickFalse,SvPV(sval,na)) : SvIV(sval);
          if (sp < 0)
            {
              ThrowPerlException(exception,OptionError,
                "UnrecognizedInterlaceType",SvPV(sval,na));

Magick.xs  view on Meta::CPAN

    {
      if (LocaleCompare(attribute,"label") == 0)
        {
          for ( ; image; image=image->next)
            (void) SetImageProperty(image,"label",InterpretImageProperties(
              info ? info->image_info : (ImageInfo *) NULL,image,
              SvPV(sval,na),exception),exception);
          break;
        }
      if (LocaleCompare(attribute,"loop") == 0)
        goto iterations;
      if (info)
        SetImageOption(info->image_info,attribute,SvPV(sval,na));
      for ( ; image; image=image->next)
      {
        (void) SetImageProperty(image,attribute,SvPV(sval,na),exception);
        (void) SetImageArtifact(image,attribute,SvPV(sval,na));
      }
      break;
    }
    case 'M':

Magick.xs  view on Meta::CPAN

                    *profile;

                  profile=GetImageProfile(image,"iptc");
                  if (profile != (const StringInfo *) NULL)
                    s=newSVpv((const char *) GetStringInfoDatum(profile),
                      GetStringInfoLength(profile));
                }
              PUSHs(s ? sv_2mortal(s) : &sv_undef);
              continue;
            }
          if (LocaleCompare(attribute,"iterations") == 0)  /* same as loop */
            {
              if (image != (Image *) NULL)
                s=newSViv((ssize_t) image->iterations);
              PUSHs(s ? sv_2mortal(s) : &sv_undef);
              continue;
            }
          if (LocaleCompare(attribute,"interlace") == 0)
            {
              j=info ? info->image_info->interlace : image ? image->interlace :
                UndefinedInterlace;
              if (info)
                if (info->image_info->interlace == UndefinedInterlace)
                  j=image->interlace;

Magick.xs  view on Meta::CPAN

                *value;

              if (image == (Image *) NULL)
                break;
              value=GetImageProperty(image,"Label",exception);
              if (value != (const char *) NULL)
                s=newSVpv(value,0);
              PUSHs(s ? sv_2mortal(s) : &sv_undef);
              continue;
            }
          if (LocaleCompare(attribute,"loop") == 0)  /* same as iterations */
            {
              if (image != (Image *) NULL)
                s=newSViv((ssize_t) image->iterations);
              PUSHs(s ? sv_2mortal(s) : &sv_undef);
              continue;
            }
          ThrowPerlException(exception,OptionError,"UnrecognizedAttribute",
            attribute);
          break;
        }
        case 'M':
        case 'm':
        {

Magick.xs  view on Meta::CPAN

        }
        case 132:  /* Morphology */
        {
          KernelInfo
            *kernel;

          MorphologyMethod
            method;

          ssize_t
            iterations;

          if (attribute_flag[0] == 0)
            break;
          kernel=AcquireKernelInfo(argument_list[0].string_reference,exception);
          if (kernel == (KernelInfo *) NULL)
            break;
          if (attribute_flag[1] != 0)
            channel=(ChannelType) argument_list[1].integer_reference;
          method=UndefinedMorphology;
          if (attribute_flag[2] != 0)
            method=(MorphologyMethod) argument_list[2].integer_reference;
          iterations=1;
          if (attribute_flag[3] != 0)
            iterations=argument_list[3].integer_reference;
          channel_mask=SetImageChannelMask(image,channel);
          image=MorphologyImage(image,method,iterations,kernel,exception);
          if (image != (Image *) NULL)
            (void) SetImageChannelMask(image,channel_mask);
          kernel=DestroyKernelInfo(kernel);
          break;
        }
        case 133:  /* Mode */
        {
          if (attribute_flag[0] != 0)
            {
              flags=ParseGeometry(argument_list[0].string_reference,

demo/demo.pl  view on Meta::CPAN


print "Monochrome...\n";
$example=$model->Clone();
$example->Label('Monochrome');
$example->Quantize(colorspace=>'gray',colors=>2,dither=>'false');
push(@$images,$example);

print "Morphology...\n";
$example=$model->Clone();
$example->Label('Morphology');
$example->Morphology(method=>'Dilate',kernel=>'Diamond',iterations=>2);
push(@$images,$example);

print "Motion Blur...\n";
$example=$model->Clone();
$example->Label('Motion Blur');
$example->MotionBlur('0x13+10-10');
push(@$images,$example);

print "Negate...\n";
$example=$model->Clone();

t/reference/read/input_gray_msb_08bit_mat.miff  view on Meta::CPAN

id=ImageMagick  version=1.0
class=DirectClass  colors=256  alpha-trait=Undefined
columns=67  rows=71  depth=8
type=Grayscale
colorspace=Gray
compression=None  quality=0
page=67x71+0+0
iterations=0  delay=0  ticks-per-second=100
gamma=0.454545
date:create=2015-04-15T08:36:04-04:00
date:modify=2009-09-05T17:47:34-04:00

:ˆ†„€Œ–‰Z@HKKKNX\acacceddegghddedgedbcba_\UKjƒ‚~~ƒ„”ÍÊ\R[[][^[^]ƒƒ€“…U;DFGFMW[]aaabddcbccdabccbbb`____[SK]{„‚‚€€€€»Ò”NWZZ[[[]_‚‡€T:BHFCLT[]_baabeccbbcbaadgcb``]__]UPOs††ˆ‡ƒ€~~~”ÏÍgQVZ[\_a\€‚ƒŠˆV9AGEEKTX\__`a`aaab^^__^_ebb^_]^\\XNLkƒ...
]>9’žz=I(O4ke-^$:I(X^eehqx€Œ™§²ÀÈΫ[}€{xrohˆÀÍР<@OAOžG4’žžx,5; ??qj{M&RN0Xceegms~‡”¢°½ÆÌÐe|zwskb®ÌÐËp>DN?EžX3š™y/2,SgD>:;?8YK<]chdcipy‚Žœ­¹ÃÉÏYo{xwukg¹ÅÒ­VCGAD7›a4.'%#)2S_V<EZ?Iaijgdgov€‹”¨¶ÀÆË...
!ž4†šœwB  $&YN-:.>RE.abjjjedkpx‚˜­¼ÅÊÐP537AOtƒ|È´L.6=CA-“:†›Ÿl?!$*nY<-KLOdfgklieglt~†”¦·ÂÈ̓FE4$6¯Êz$-9J:G>NœžG†ž¢m:$!!"5`@
>P >_ehhjlkihipyƒž±¾Å˹AQE6!3º¯•##-H57Q0X—M…¢l0 +<+10X&*.%?U^efhjnpmjilv~‰–¨¸ÂÉ...
class=DirectClass  colors=256  alpha-trait=Undefined
columns=71  rows=73  depth=8
colorspace=sRGB
compression=None  quality=0
page=71x73+0+0
scene=1  iterations=0  delay=0  ticks-per-second=100
rendering-intent=Perceptual
gamma=0.454545
red-primary=0.64,0.33  green-primary=0.3,0.6  blue-primary=0.15,0.06
white-point=0.3127,0.329
date:create=2015-04-15T08:36:04-04:00
date:modify=2009-09-05T17:47:34-04:00

:yE,‘G&—A&–A'”?%—A)–?*–A+”?)”=(’;'ˆC%]”Žcw-o&nDƒ‹Pžªt ­… ¯‹Ÿ®‰ ®ƒ­|¦c™Rx‹F¤ S €>—a2œg7£r:§y<£u;œd6ŠV)”„M”¥n˜¬›­‰™­‰›­Šœ­‹œ´—›‡SL#Š¡g˜¯xŠtJ?#‡;"}5~I0‡<!E#jh4o”I¥QŠ«WŒ«X¬Z©]‰p?N/xK-bm>b‡HdŒHo™Mƒ§Uƒ¦UK+¯Q'±N)¯L(­K%¯L'±K+´L.³K-µH-´F,®D...
	r Vt¯Sq«Ox²U|³V}±Q¾ViLv­N€²R‡µN’—Eg:|‘AwªL{³P}°^™Á€qyM8F¨6,­!Å,'Ä# ¿¿»¸¹*"›c@©v®¡r²0À("Ã*$Á*$½*#¹)!º*"¼,$»+#¿/'À2'Ã5&Ä6)Å7'Å8&Ã6$¾1À3!À3!Ã0 À3!¹l:ž¼YšÇXÉZŸÊ[§Ñc§Ðb«Òe¦Í` Ê\§Ñc£Í`{–Pm’Ou­Rq©Nm¤J|²V~²R—ÁVm‰Ry´T…¶T...
ŽfJ¼B,¼&%½»º¾½ »´ “jF†ªa®Á«J*»/(¾(#À&!Ã*!Æ-%Ì3+ÎA7Â3*Á-&Á0)Â2*Â2)Ä6)Ã4(Ã5%Æ8%Ç9%Ç9%Ã7$Å7&Ä4#Å5!Ê7'Ì8'É<&¸T,•­Q‚³Pd|4We$b~8[…8]’>o¬Ss¶[uº_|¿ey»ak²Spº_~Áy€Ä}|Àrw¼hp³Z‚³V_€Hl©Ms³Wq¯PlŠ@6&#%({gA±_·,!½ ¼¼¼½»¸­0$‚ŒS•¾s...

t/setattribute.t  view on Meta::CPAN

++$test;
testSetAttribute('input.miff','display','bogus:0.0');

++$test;
testSetAttribute('input.miff','filename','bogus.jpg');

++$test;
testSetAttribute('input.miff','font',q/-*-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-*/);

++$test;
testSetAttribute('input.miff','iterations',10);

++$test;
testSetAttribute('input.miff','interlace','None');

++$test;
testSetAttribute('input.miff','interlace','Line');

++$test;
testSetAttribute('input.miff','interlace','Plane');



( run in 1.450 second using v1.01-cache-2.11-cpan-71847e10f99 )