本文目录一览:
- 1、PHP中获取图像尺寸大小的方法是什么?
- 2、寻求php高手!!php中如何得到图片的长和宽,并进行比较
- 3、关于php图片缩放问题,比如一张400*300的图片
- 4、php 中 图片如何输出多尺寸
- 5、请问有哪位朋友知道在PHP中如何获取图片大小
PHP中获取图像尺寸大小的方法是什么?
getimagesize()获取图片尺寸
imagesx()获取图片的宽度
imagesy()获取图片的高度
/br
/br
寻求php高手!!php中如何得到图片的长和宽,并进行比较
$arr=getimagesize("bg.jpg");
$arr[0] //宽度
$arr[1] //高度
宽高比自己计算吧。
关于php图片缩放问题,比如一张400*300的图片
1、html页面不能对图片有宽度和高度限制;
2、php进行缩放的话,你用的是GD?可以尝试缩放的时候等比缩放:
前面getimagesize,imagesx,imagesy什么的,我省略了,直接获得当前的图片的信息:
$size = array(
's' = array('width'=$savewidth, 'height'=$saveheight),
'o' = array('width'=$width, 'height'=$height),
);
//s代表当前图片的宽高,
//o代表规则图片的宽高,(就是你的200*200,超出就缩放的规则标准)
function parseimageresizerule($size = array()){
$extract = extract($size);
if($s['width'] = $o['width'] || $s['height'] = $o['height'
if($s['width'] = $o['width']){
$radio['w'] = $o['width'] / $s['width'];
$state['w'] = true;
}
if($s['height'] = $o['height']){
$radio['h'] = $o['height'] / $s['height'];
$state['h'] = true;
}
if($state['w'] $state['h']){
if($radio['w'] $radio['h']){
$radio['s'] = $radio['w'];
$radio['h'] = false;
}else{
$radio['s'] = $radio['h'];
$radio['w'] = false;
}
}elseif($state['w']){
$radio['s'] = $radio['w'];
}else{
$radio['s'] = $radio['h'];
}
$width = intval($s['width'] * $radio['s']);
$height = intval($s['height'] * $radio['s']);
$top = 0;
$left = 0;
}else{
$width = $s['width'];
$height = $s['height'];
$top = intval(($o['height'] - $height) / 2);
$left = intval(($o['width'] - $width) / 2);
}
return array(
'width' = $width,
'height' = $height,
'top' = $top,
'left' = $left,
);
}
最后返回的数组是实际图片的长宽以及200,150这个图片在200*200的图片里的上左距离;
再用
imagefill($filesave, 0, 0, $white);
imagecopyresampled($filesave, $filecache, $left, $top, 0, 0, $width, $height, $savewidth, $saveheight);
就得到1个等比缩放完成的图片!明白?
代码我手敲的,原理肯定可以的~ !
By ahonronline
php 中 图片如何输出多尺寸
php的gd库可以实现读取宽和高
GetImageSize
作用:取得图片的大小[即长与宽]
PHP GD库函用法:array GetImageSize(string filename, array [imageinfo]);
这里我很好奇的问一句为什么要宽和高呢?
如果你是直接输出原样式大小,不用写长或宽,在html页面显示的就是原图大小
如果你是因为页面的关系,直接width=“300”,高度会自动等比变化~
请问有哪位朋友知道在PHP中如何获取图片大小
用php或js获取图片大小,高宽尺寸
?
$arr=getimagesize("images/album_01.gif");
echo $arr[3];
$strarr=explode("\"",$arr[3]);
echo $strarr[1];
?
HTML
HEAD
TITLE演示图片等比例缩小/TITLE
script
function Wa_SetImgAutoSize(img)
{
//var img=document.all.img1;//获取图片
var MaxWidth=200;//设置图片宽度界限
var MaxHeight=100;//设置图片高度界限
var HeightWidth=img.offsetHeight/img.offsetWidth;//设置高宽比
var WidthHeight=img.offsetWidth/img.offsetHeight;//设置宽高比
alert("test"+img.offsetHeight+img.fileSize);
if(img.offsetHeight1) alert(img.offsetHeight);
if(img.readyState!="complete"){
return false;//确保图片完全加载
}
if(img.offsetWidthMaxWidth){
img.width=MaxWidth;
img.height=MaxWidth*HeightWidth;
}
if(img.offsetHeightMaxHeight){
img.height=MaxHeight;
img.width=MaxHeight*WidthHeight;
}
}
function CheckImg(img)
{
var message="";
var MaxWidth=1;//设置图片宽度界限
var MaxHeight=1;//设置图片高度界限
if(img.readyState!="complete"){
return false;//确保图片完全加载
}
if(img.offsetHeightMaxHeight) message+="\r高度超额:"+img.offsetHeight;
if(img.offsetWidthMaxWidth) message+="\r宽度超额:"+img.offsetWidth;
if(message!="") alert(message);
}
/script
/HEAD
BODY
img src="images/frequency.gif" border=0 id="img1" onload="CheckImg(this);"
br
input id=inp type="file" onpropertychange="img1.src=this.value;"
/BODY
/HTML