class My_Lib_Functions {
# ********************************************
# 对象转数组
# ********************************************
function object2array ($obj) {
foreach ($obj as $k => $v) {
$arr[$k] = $v;
unset($v);
}
return $arr;
}
// ********************************************
// 获取限定区间内的图片宽高
//$mx :图像在页面上显示的宽度
//$my :图像在页面上显示的高度
//此处缩略图按比例缩放的原理为x/y = $mx / $my;
// **********************************************
function getPicXY($picurl, $mx = 0, $my = 0){
if (!$size = @GetImageSize($picurl)) return false; //GetImageSize用来测定任何图象大小并返回图象的尺寸以及文件类型和一个用于普通HTML文件中标记中的height/width文本字符串
if ($mx == 0 && $my == 0) return $size; //当$mx与$my参数的值为零时,返回图象的大小
if ($mx * $size[1] / $size[0] > $my){ //判断当$mx乘以图象本身的高度再除以图象的宽度大于在页面上显示的图象宽度时
$newXY[0] = $my * $size[0] / $size[1]; //设置产生新图像的宽度为$mx的值乘以图象本身的宽度再除以图象本身的高度
$newXY[1] = $my; //设置产生的新图像的高度为页面图象显示的高度
}else{ //判断当$mx乘以图象本身的高度再除以图象的宽度不大于在页面上显示的图象宽度时
$newXY[0] = $mx; //设置产生的新图像的宽度为页面图象显示的宽度
$newXY[1] = $mx * $size[1] / $size[0]; //设置产生新图像的宽度为$mx的值乘以图象本身的高度再除以图象本身的宽度
}
if ($size[0]
$newXY[0] = $size[0]; //设置图像新产生的宽度为图像本身的宽度
$newXY[1] = $size[1]; //设置图像新年产的高度为图像本身的高度
}
return $newXY; //返回图像的新比例
}
function getNewImageWH2 ($imageUrl, $maxWidth = 0, $maxHeight = 0, &$newWidth = 0, &$newHeight = 0){
if (!$imageSize = @GetImageSize($imageUrl)) return false;
if ($maxWidth == 0 || $maxHeight == 0) {
$newWidth = $imageSize[0];
$newHeight = $imageSize[1];
} else {
$newWidth = $maxWidth;
$newHeight = $newWidth * $imageSize[1] / $imageSize[0];
if ($newHeight
$newHeight = $maxHeight;
$newWidth = $newHeight * $imageSize[0] / $imageSize[1];
}
$imageSize[0] = $newWidth;
$imageSize[1] = $newHeight;
}
return $imageSize;
}
}
?>