PHP Imagick setImageCompression


PHP Imagick setImageCompression

我刚刚开始使用Imagick/ImageMagick库编写一些PHP,并且看到了几个关于setImageCompression的示例,它们似乎实现了不同的东西。

例如,我看到它是这样使用的:

$image->setImageCompression(Imagick::COMPRESSION_LZW);

也像这样:

$image->setImageCompression('Imagick::COMPRESSION_UNDEFINED);

那么,在声明压缩类型之前,反斜杠的相关性是什么?这是特定于压缩类型的吗?我见过的例子中的拼写错误还是其他什么?

只有在使用命名空间时才需要反斜杠。

例如,前者在namespace Foo中不起作用,因为它将查找类Foo'Imagick:

namespace {
    var_dump(Imagick::COMPRESSION_LZW); // int(11)
}
namespace Foo {
    var_dump(Imagick::COMPRESSION_LZW); // Class 'Foo'Imagick' not found
}

第二种方法适用于所有情况:

namespace {
    var_dump('Imagick::COMPRESSION_LZW); // int(11)
}
namespace Foo {
    var_dump('Imagick::COMPRESSION_LZW); // int(11)
}
相关文章:
  • 没有找到相关文章