#!/usr/bin/perl # Overall demo of the major PerlMagick methods. use Image::Magick; # Read model & smile image. # ---------------------------------------------------------- $kosuu_yoko = 15; $tile = $kosuu_yoko . "x+10+200"; # geometry =>'128x160+8+4>', $yoko_haba = 15 * 10; $geometry = $yoko_haba . 'x160+8+4>'; $name_input = "0_org.jpg"; mkdir("data","0644"); # ---------------------------------------------------------- print "Read...\n"; $null = Image::Magick->new;$null->Set(size=>'70x70'); $x = $null->ReadImage('NULL:black'); warn "$x" if "$x"; print "Read.[$name_input]..\n"; $model = Image::Magick->new(); $x = $model->ReadImage($name_input); warn "$x" if "$x";$model->Label('Magick');$model->Set(background=>'white'); print "Read.[0_smil.jpg]..\n"; $smile = Image::Magick->new; $x = $smile->ReadImage('0_smile.jpg'); warn "$x" if "$x";$smile->Label('Smile'); $smile->Set(background=>'white'); print "Read..end\n"; # Create image stack. ---------------------------------------- print "Transform image...\n"; $images =Image::Magick->new(); print "0_org...\n"; $example=$model->Clone(); $example->Label('0_org'); $example->Write('data/0_org.jpg'); print "Adaptive Blur...\n"; $example=$model->Clone(); $example->Label('Adaptive Blur'); $example->AdaptiveBlur('0x1'); $example->Write('data/Adaptive Blur.jpg'); print "Adaptive Resize...\n"; $example=$model->Clone(); $example->Label('Adaptive Resize'); $example->AdaptiveResize('60%'); $example->Write('data/Adaptive Resize.jpg'); print "Adaptive Sharpen...\n"; $example=$model->Clone(); $example->Label('Adaptive Sharpen'); $example->AdaptiveSharpen('0x1'); $example->Write('data/Adaptive Sharpen.jpg'); print "Adaptive Threshold...\n";$example=$model->Clone(); $example->Label('Adaptive Threshold'); $example->AdaptiveThreshold('5x5+5%'); $example->Write('data/Adaptive Threshold.jpg'); print "Add Noise...\n"; $example=$model->Clone(); $example->Label('Add Noise'); $example->AddNoise("Laplacian"); $example->Write('data/Add Noise.jpg'); print "Annotate...\n"; $example=$model->Clone(); $example->Label('Annotate'); $example->Annotate(text=>'Magick',geometry=>'+0+20',font=>'Generic.ttf',fill=>'gold',gravity=>'North',pointsize=>14);$example->Write('data/Annotate.jpg'); print "Auto-gamma...\n"; $example=$model->Clone(); $example->Label('Auto Gamma'); $example->AutoGamma(); $example->Write('data/AutoGamma.jpg'); print "Auto-level...\n"; $example=$model->Clone(); $example->Label('Auto Level'); $example->AutoLevel(); $example->Write('data/AutoLevel.jpg'); print "Blur...\n"; $example=$model->Clone(); $example->Label('Blur'); $example->Blur('0.0x1.0'); $example->Write('data/Blur.jpg'); print "Border...\n"; $example=$model->Clone(); $example->Label('Border'); $example->Border(geometry=>'6x6',color=>'gold');$example->Write('data/Border.jpg'); print "Channel...\n"; $example=$model->Clone(); $example->Label('Channel'); $example->Channel(channel=>'red'); $example->Write('data/Channel.jpg'); print "Charcoal...\n"; $example=$model->Clone(); $example->Label('Charcoal'); $example->Charcoal('0x1'); $example->Write('data/Charcoal.jpg'); print "ColorMatrix...\n"; $example=$model->Clone(); $example->Label('ColorMatrix'); $example->ColorMatrix([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0.5, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]);$example->Write('data/ColorMatrix.jpg'); push(@$images,$example); print "Composite...\n"; $example=$model->Clone(); $example->Label('Composite'); $example->Composite(image=>$smile,compose=>'over',geometry=>'+50+100');$example->Write('data/Composite.jpg'); print "Contrast...\n"; $example=$model->Clone(); $example->Label('Contrast'); $example->Contrast(); $example->Write('data/Contrast.jpg'); print "Contrast Stretch...\n"; $example=$model->Clone(); $example->Label('Contrast Stretch'); $example->ContrastStretch('5%'); $example->Write('data/Contrast Stretch.jpg'); print "Convolve...\n"; $example=$model->Clone(); $example->Label('Convolve'); $example->Convolve([1, 1, 1, 1, 4, 1, 1, 1, 1]); $example->Write('data/Convolve.jpg'); print "Crop...\n"; $example=$model->Clone(); $example->Label('Crop'); $example->Crop(geometry=>'80x80+25+50');$example->Set(page=>'0x0+0+0'); $example->Write('data/Crop.jpg'); print "Despeckle...\n"; $example=$model->Clone(); $example->Label('Despeckle'); $example->Despeckle(); $example->Write('data/Despeckle.jpg'); print "Distort...\n"; $example=$model->Clone(); $example->Label('Distort'); $example->Distort(method=>'arc',points=>[60],'virtual-pixel'=>'white'); $example->Write('data/Distort.jpg'); print "Draw...\n"; $example=$model->Clone(); $example->Label('Draw'); $example->Draw(fill=>'none',stroke=>'gold',primitive=>'circle',points=>'60,90 60,120',strokewidth=>2);$example->Write('data/Draw.jpg'); print "Detect Edges...\n"; $example=$model->Clone(); $example->Label('Detect Edges'); $example->Edge(); $example->Write('data/Detect Edges.jpg'); print "Emboss...\n"; $example=$model->Clone(); $example->Label('Emboss'); $example->Emboss('0x1'); $example->Write('data/Emboss.jpg'); print "Equalize...\n"; $example=$model->Clone(); $example->Label('Equalize'); $example->Equalize(); $example->Write('data/Equalize.jpg'); print "Implode...\n"; $example=$model->Clone(); $example->Label('Implode'); $example->Implode(-1); $example->Write('data/Implode.jpg'); print "Flip...\n"; $example=$model->Clone(); $example->Label('Flip'); $example->Flip(); $example->Write('data/Flip.jpg'); print "Flop...\n"; $example=$model->Clone(); $example->Label('Flop'); $example->Flop(); $example->Write('data/Flop.jpg'); print "Frame...\n"; $example=$model->Clone(); $example->Label('Frame'); $example->Frame('15x15+3+3'); $example->Write('data/Frame.jpg'); print "Fx...\n"; $example=$model->Clone(); $example->Label('Fx'); $example->Write('data/Fx.jpg'); print "Gamma...\n"; $example=$model->Clone(); $example->Label('Gamma'); $example->Gamma(1.6); $example->Write('data/Gamma.jpg'); print "Gaussian Blur...\n"; $example=$model->Clone(); $example->Label('Gaussian Blur'); $example->GaussianBlur('0.0x1.5'); $example->Write('data/Gaussian Blur.jpg'); print "Gradient...\n"; $gradient=Image::Magick->new;$gradient->Set(size=>'130x194'); $x = $gradient->ReadImage('gradient:#20a0ff-#ffff00');warn "$x" if "$x";$gradient->Label('Gradient'); $example->Write('data/Gradient.jpg'); print "Grayscale...\n"; $example=$model->Clone(); $example->Label('Grayscale'); $example->Set(type=>'grayscale'); $example->Write('data/Grayscale.jpg'); print "Implode...\n"; $example=$model->Clone(); $example->Label('Implode'); $example->Implode(0.5); $example->Write('data/Implode.jpg'); print "Level...\n"; $example=$model->Clone(); $example->Label('Level'); $example->Level('20%'); $example->Write('data/Level.jpg'); print "Median Filter...\n"; $example=$model->Clone(); $example->Label('Median Filter'); $example->MedianFilter(); $example->Write('data/Median Filter.jpg'); print "Modulate...\n"; $example=$model->Clone(); $example->Label('Modulate'); $example->Modulate(brightness=>110,saturation=>110,hue=>110); $example->Write('data/Modulate.jpg'); print "Monochrome...\n"; $example=$model->Clone(); $example->Label('Monochrome'); $example->Quantize(colorspace=>'gray',colors=>2,dither=>'false'); $example->Write('data/Monochrome.jpg'); print "Morphology...\n"; $example=$model->Clone(); $example->Label('Morphology'); $example->Morphology(method=>'Dilate',kernel=>'Diamond',iterations=>3); $example->Write('data/Morphology.jpg'); print "Motion Blur...\n"; $example=$model->Clone(); $example->Label('Motion Blur'); $example->MotionBlur('0x13+10-10'); $example->Write('data/Motion Blur.jpg'); print "Negate...\n"; $example=$model->Clone(); $example->Label('Negate'); $example->Negate(); $example->Write('data/Negate.jpg'); print "Normalize...\n"; $example=$model->Clone(); $example->Label('Normalize'); $example->Normalize(); $example->Write('data/Normalize.jpg'); print "Oil Paint...\n"; $example=$model->Clone(); $example->Label('Oil Paint'); $example->OilPaint(); $example->Write('data/Oil Paint.jpg'); print "Plasma...\n"; $plasma = Image::Magick->new;$plasma->Set(size=>'130x194'); $x = $plasma->ReadImage('plasma:fractal');warn "$x" if "$x";$plasma->Label('Plasma');$example->Write('data/Plasma.jpg'); print "Polaroid...\n"; $example=$model->Clone(); $example->Label('Polaroid'); $example->Polaroid(caption=>'Magick',rotate=>-5.0,gravity=>'center'); $example->Write('data/Polaroid.jpg'); print "Quantize...\n"; $example=$model->Clone(); $example->Label('Quantize'); $example->Quantize(); $example->Write('data/Quantize.jpg'); # print "Radial Blur...\n"; $example=$model->Clone();#$example->Label('Radial Blur');#$example->RadialBlur(10);# $example->Write('data/Radial Blur.jpg'); print "Raise...\n"; $example=$model->Clone(); $example->Label('Raise'); $example->Raise('10x10'); $example->Write('data/Raise.jpg'); print "Reduce Noise...\n"; $example=$model->Clone(); $example->Label('Reduce Noise'); $example->ReduceNoise(); $example->Write('data/Reduce Noise.jpg'); print "Resize...\n"; $example=$model->Clone(); $example->Label('Resize'); $example->Resize('60%'); $example->Write('data/Resize.jpg'); print "Roll...\n"; $example=$model->Clone(); $example->Label('Roll'); $example->Roll(geometry=>'+20+10'); $example->Write('data/Roll.jpg'); print "Rotate...\n"; $example=$model->Clone(); $example->Label('Rotate'); $example->Rotate(45); $example->Write('data/Rotate.jpg'); print "Sample...\n"; $example=$model->Clone(); $example->Label('Sample'); $example->Sample('60%'); $example->Write('data/Sample.jpg'); print "Scale...\n"; $example=$model->Clone(); $example->Label('Scale'); $example->Scale('60%'); $example->Write('data/Scale.jpg'); print "Segment...\n"; $example=$model->Clone(); $example->Label('Segment'); $example->Segment(); $example->Write('data/Segment.jpg'); print "Shade...\n"; $example=$model->Clone(); $example->Label('Shade'); $example->Shade(geometry=>'30x30',gray=>'true'); $example->Write('data/Shade.jpg'); print "Sharpen...\n"; $example=$model->Clone(); $example->Label('Sharpen'); $example->Sharpen('0.0x1.0'); $example->Write('data/Sharpen.jpg'); print "Shave...\n"; $example=$model->Clone(); $example->Label('Shave'); $example->Shave('10x10'); $example->Write('data/Shave.jpg'); print "Shear...\n"; $example=$model->Clone(); $example->Label('Shear'); $example->Shear('-20x20'); $example->Write('data/Shear.jpg'); print "Sketch...\n"; $example=$model->Clone(); $example->Label('Sketch'); $example->Set(colorspace=>'Gray');$example->Sketch('0x20+120'); $example->Write('data/Sketch.jpg'); print "Sigmoidal Contrast...\n";$example=$model->Clone(); $example->Label('Sigmoidal Contrast'); $example->SigmoidalContrast("3x50%"); $example->Write('data/Sigmoidal Contrast.jpg'); print "Spread...\n"; $example=$model->Clone(); $example->Label('Spread'); $example->Spread(); $example->Write('data/Spread.jpg'); print "Solarize...\n"; $example=$model->Clone(); $example->Label('Solarize'); $example->Solarize(); $example->Write('data/Solarize.jpg'); print "Swirl...\n"; $example=$model->Clone(); $example->Label('Swirl'); $example->Swirl(90); $example->Write('data/Swirl.jpg'); print "Unsharp Mask...\n"; $example=$model->Clone(); $example->Label('Unsharp Mask'); $example->UnsharpMask('0.0x1.0'); $example->Write('data/Unsharp Mask.jpg'); print "Vignette...\n"; $example=$model->Clone(); $example->Label('Vignette'); $example->Vignette('0x20'); $example->Write('data/Vignette.jpg'); print "Wave...\n"; $example=$model->Clone(); $example->Label('Wave'); $example->Wave('25x150'); $example->Write('data/Wave.jpg'); print "[end]";;