我想调整图像大小,使调整大小始终填充所需的区域。我希望脚本获取任意大小的图像,将最短边调整为90px,然后裁剪顶部和底部(如果是横向,则左右两侧)以获得90px 90px的正方形图像调整大小和作物
0
A
回答
2
此代码执行此操作与GD功能。
源图像可以是JPEG,PNG,GIF或BMP格式。如果你事先知道格式,你可以摆脱switch语句。结果保存为JPEG。
$srcPath = "your source image path goes here";
$dstPath = "your destination image path goes here";
$size = "90x90";
list($w, $h, $type) = getimagesize($srcPath);
switch ($type) {
case IMAGETYPE_JPEG:
$src = imagecreatefromjpeg($srcPath);
break;
case IMAGETYPE_PNG:
$src = imagecreatefrompng($srcPath);
break;
case IMAGETYPE_GIF:
$src = imagecreatefromgif($srcPath);
break;
case IMAGETYPE_BMP:
$src = imagecreatefrombmp($srcPath);
break;
}
list($dst_w, $dst_h) = explode('x', $size);
$dst = imagecreatetruecolor($dst_w, $dst_h);
$dst_x = $dst_y = 0;
$src_x = $src_y = 0;
if ($dst_w/$dst_h < $w/$h) {
$src_w = $h*($dst_w/$dst_h);
$src_h = $h;
$src_x = ($w-$src_w)/2;
$src_y = 0;
} else {
$src_w = $w;
$src_h = $w*($dst_h/$dst_w);
$src_x = 0;
$src_y = ($h-$src_h)/2;
}
imagecopyresampled($dst, $src, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
imagejpeg($dst, $dstPath);
imagedestroy($src);
imagedestroy($dst);
+0
这是创造一个黑色的图像90 * 90 –
+0
对不起,这是我的错,它像一个魅力工作。 –
+0
尽管这是完全有效的,但使用CodeIgniter进行此操作的效率相当低,CodeIgniter拥有自己的用于此任务的库。 –
相关问题
- 1. TYPO3图像调整大小和作物
- 2. 图片库,调整大小和作物
- 3. 流体作物调整大小调整图像
- 4. 图像调整大小和作物上传asp,net
- 5. 图像上传与作物和调整大小
- 6. 调整大小VS作物
- 7. 回形针调整大小和作物
- 8. 作物和调整大小的理论
- 9. 图像调整大小作为窗口调整大小
- 10. 图像缩略图和调整大小
- 11. 调整图像大小和缩略图
- 12. 作物所需方面的图像,然后调整其大小
- 13. Android作物图像大小
- 14. 图像未调整大小
- 15. 调整jpeg图像大小?
- 16. codeigniter图像调整大小
- 17. Phalcon图像调整大小
- 18. JavaFx图像调整大小
- 19. ckfinder图像调整大小
- 20. 图像调整大小Codeigniter
- 21. 调整图像大小。 。 。 。
- 22. 图像调整大小Java
- 23. 调整图像大小
- 24. 调整图像大小
- 25. 调整图像大小5
- 26. php调整大小图像
- 27. imageWithContentsOfFile调整图像大小
- 28. 调整图像大小
- 29. Opencart - 图像调整大小
- 30. Kraken.io图像调整大小
你能告诉你试过了吗? –
我使用Codeigniter Image_lib来调整大小 –
什么都不起作用? –