PHP 8.4.6 Released!

Imagick::setImageType

(PECL imagick 2, PECL imagick 3)

Imagick::setImageTypeSets the image type

Description

public Imagick::setImageType(int $image_type): bool

Sets the image type.

Parameters

image_type

Return Values

Returns true on success.

User Contributed Notes

quickshiftin at gmail dot com
10 years ago
The cleaner way to set the type to grayscale is to use the Imagick class constant.

$oBw = new \Imagick($sSourceImage);
$oBw->setImageType(\Imagick::IMGTYPE_GRAYSCALE);

I've found this to be a rather harsh 'convert to grayscale' approach. Fred's color2gray script works much better, but it's written in Bash. Time to get it ported over lol

http://www.fmwconcepts.com/imagemagick/color2gray/index.php
Simon J
5 years ago
The different image types that can be specified are (from the Imagick::getImageType doc page):

Imagick::IMGTYPE_UNDEFINED
Imagick::IMGTYPE_BILEVEL
Imagick::IMGTYPE_GRAYSCALE
Imagick::IMGTYPE_GRAYSCALEMATTE
Imagick::IMGTYPE_PALETTE
Imagick::IMGTYPE_PALETTEMATTE
Imagick::IMGTYPE_TRUECOLOR
Imagick::IMGTYPE_TRUECOLORMATTE
Imagick::IMGTYPE_COLORSEPARATION
Imagick::IMGTYPE_COLORSEPARATIONMATTE
Imagick::IMGTYPE_OPTIMIZE

The MATTE variants are equivalent to GrayscaleAlpha, etc. in the ImageMagick command line. If you're making something grayscale, I would recommend using IMGTYPE_GRAYSCALEMATTE.

<?php

$im
->setImageType(Imagick::IMGTYPE_GRAYSCALEMATTE);

?>
lee dot traynor at skeptic dot de
13 years ago
This function can be used to desaturate an image, i.e. to convert a coloured image into a greyscale:

<?php

$im
= new Imagick ("image.jpg");
$im->setImageType (2);
//is now in 256 shades of grey

?>
To Top