略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Imagick::setImageType

2024-11-13

Imagick::setImageType

(PECL imagick 2, PECL imagick 3)

Imagick::setImageTypeSets the image type

说明

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

Sets the image type.

参数

image_type

返回值

成功时返回 true

add a noteadd a note

User Contributed Notes 3 notes

up
1
Simon J
2 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);

?>
up
1
quickshiftin at gmail dot com
7 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
up
1
lee dot traynor at skeptic dot de
10 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

?>

官方地址:https://www.php.net/manual/en/imagick.setimagetype.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3