shi*_*ape 5 php resize image-manipulation
我有一个16x16精灵的PNG或GIF图像格式,并希望在64 x 64的所有像素化荣耀的网站上显示它.在Firefox 3.6+和IE中,我可以使用图像渲染和-ms-interpolation-mode轻松地使用CSS ,但由于这在所有浏览器中都不起作用,我想使用PHP来动态调整图像大小.在PHP中使用最近邻插值调整图像大小的最佳方法是什么?
如果你想在调整大小期间保持像素化,你会想要使用GD库做这样的事情:
<?php
// create GD image resource from source image file
$src = imagecreatefromgif('test.gif');
// create new GD image resource with indexed color
$dest = imagecreate(64, 64);
// copy/resize image without resampling
imagecopyresized($dest, $src, 0, 0, 0, 0, 64, 64, 16, 16);
// output result
header('Content-type: image/gif');
imagegif($dest);
?>
Run Code Online (Sandbox Code Playgroud)
我已经测试了代码,并且像素化仍然很明显.你必须调整代码以接受png文件作为输入,这应该相当容易,因为每个GD gif函数也有相应的png函数.希望这可以帮助.
小智 1
如果您也需要调整 GIF 的大小,您可以使用ImageMagick项目。
您可以使用 GD,但是,您可能会丢失一些 EXIF 数据。
KusabaX项目有一个很棒的图像转换功能。检查文件“/inc/func/posts.php”第 58 行。;-)