微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Imagick缺少设置参数的PNG到DDS

如何解决Imagick缺少设置参数的PNG到DDS

我想像这个例子一样使用PHP代码

<?
$img = new Imagick('test.png'); //Load the uploaded image
$img->setformat('dds'); //Set the format to dds
$img->setimageCompression(Imagick::COMPRESSION_DXT5); //Set compression method
$img->writeimage('test.dds'); //Write/save the dds texture
?>

但是我找不到集群拟合true | false和Mipmaps = X的缺失集合参数 所以我坚持使用PHP exec,这迫使我先保存png,以便exec()可以访问它以将其转换为dds。

exec("convert -format dds -define dds:compression=dxt5 -define dds:mipmaps=6 -define dds:cluster-fit=true ".$ziptempDir.$fileName." ".$ziptempDir.$fileNameDDS."");

我无法在PHP.net上找到参数,因此它们是否不适用于PHP imagick,如果是这样,是否有人像第一个示例一样知道如何获取/翻译它们以使用它?

谢谢

解决方法

以下是带有mipmaps x和cluster-fit true | false的setOptions的工作代码,该代码未在php.net上描述

    $imgSkinFull->setImageCompression(Imagick::COMPRESSION_DXT5);
    $imgSkinFull->setOption("dds:mipmaps",6);
    $imgSkinFull->setOption("dds:cluster-fit",true);
    $imgSkinFull->setformat('dds');
    $imgSkinFull->writeimage($ziptempDir.$fileNameDDS);
    $imgSkinFull->destroy();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。