php图片宽高
Ⅰ 关于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);
imageresampled($filesave, $filecache, $left, $top, 0, 0, $width, $height, $savewidth, $saveheight);
就得到1个等比缩放完成的图片!明白?
代码我手敲的,原理肯定可以的~ !
By ahonronline
Ⅱ php怎么修改图片的尺寸大小并且覆盖原图
<?php
$imgsrc = "http://www.nowamagic.net/images/3.jpg";
$width =
780;
$height = 420;
resizejpg($imgsrc,$imgdst,$width,$height);
function resizejpg($imgsrc,$imgdst,$imgwidth,$imgheight)
{
//$imgsrc
jpg格式图像路径 $imgdst jpg格式图像保存文件名 $imgwidth要改变的宽度 $imgheight要改变的高度
//取得图片的宽度,高度值
$arr = getimagesize($imgsrc);
header("Content-type:
image/jpg");
$imgWidth = $imgwidth;
$imgHeight = $imgheight;
//
Create image and define colors
$imgsrc = imagecreatefromjpeg($imgsrc);
$image = imagecreatetruecolor($imgWidth, $imgHeight); //创建一个彩色的底图
imageresampled($image, $imgsrc, 0, 0, 0, 0,$imgWidth,$imgHeight,$arr[0],
$arr[1]);
imagepng($image);
imagedestroy($image);
}
?>
Ⅲ 请高手帮帮忙! 怎样在php中调整图片显示的大小
你在显示的时候,直接指定图片显示的大小是不会改变你的源文件大小的。
如:
<img src='/upload/1.jpg' width='100' /> 那么显示的时候,就是宽度100,高度会根据你的图片的尺寸缩放。
Ⅳ php 在多个上传图片时 怎么获取 要上传的图片宽高
分两个部分,一个是“多个图片”,一个是获取图片的宽、高。
第一个用循环做到,也就是用for、foreach之类的东西遍历你从页面中得到的图片数组
下一步用getimagesize()函数获得图片的信息。
此函数在php手册里有解释:图像生成与处理→GD→GD and image函数里。
此函数返回的结果如下:
返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。
Ⅳ PHP语言编写的网页,图片代码尺寸怎么调整
楼上的哥们属性写错了,标签属性width和height里面是不能带px的,css里面才要带px。
强制控制宽高:<img scr="" width="200" height="300"/>
固定宽度,高度自适应:<img scr="" width="200"/>
固定高度,宽度自适应:<img scr="" height="300"/>