开启辅助访问
帐号登录 |立即注册

PHP操作缩略图等比例裁剪

 
一、缩略图计算逻辑

1、一般缩略图:
图宽/布宽*布高=要取的图高
图宽/布宽>图高/布高裁切图宽度
图宽=图高/布高*布宽
<?php
$rw = 300;
$rh = 500;
$res = imagecreatetruecolor($rw, $rh) ;
$image = imagecreatefromjpeg(' icon-s.jpg');
$iw = imagesx($image) ;
$ih = imagesy($image) ;
if($iw/$rw>$ih/$rh){
$iw=$ih/$rh*$rw;
} else {
$ih=$iw/$rw*$rh;
}
imagecopyresampled($res, $image, 0,0, 0, 0, $rw, $rh, $iw, $ih) ;
//把裁剪后的图塞进画布,imagecopyresampled()是GD库缩略图函数。
参数:
1-目标图(画布)
2-上传的源图
3,4-从目标图哪里开始X,Y
5,6-从源图哪里开始取值X,Y
7,8-画布大小,宽和高
9,10-源图大小,宽和高


header( 'Content-type: image/jpeg');
imagejpeg($res) ;



2、瀑布流缩略图
宽度固定,高度自动
布高=布宽/图宽*图高

switch ($type) {
//保存宽度,高度自动
case 1:
$rh=$rw/$iw*$ih;
break;
case 2:
//保存高度,宽度自动
$rw=$rh/$ih*$iw;
break;



回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。