当前位置:首页 » 编程语言 » php缩放图片

php缩放图片

发布时间: 2023-12-12 09:12:23

⑴ HTML php 网页如何设定图片宽度超过700px 则自动缩小

第一个方法:

1、用css来实现IE7以上浏览器的图片缩略效果。

.divimg{ max-width:50px; max-height:50px; } *html.divimg{width:expression(this.width>50&&this.width>this.height?50:auto); height:expresion(this.height>50?50:auto); }

说明: 这段代码是把图片等比例缩小为50px * 50px,可以根据网页的宽度来自由修改尺寸。

2、万恶的IE6不识别上面的代码怎么办?

如果你的网页宽度为580像素,我们来看

.ltop3 { line-height: 25px; font-size: 12px; overflow: hidden; width: 580px;}

这样的话,IE7会识别第一步的代码来自动缩略,而IE6会根据第二步的代码,如果图片内容超过网页宽度就自动隐藏,这就完美的解决了图片的缩略问题。

另外还有一个方法也告诉大家,希望有用。

第2个方法:

JS代码加到网页<BODY>前面

<SCRIPT language=javaScript type=text/JavaScript>
//改变图片大小
function resizepic(thispic)
{
if(thispic.width>400) thispic.width=400;
}
//无级缩放图片大小
function bbimg(o)
{
var zoom=parseInt(o.style.zoom, 10)||100;
zoom+=event.wheelDelta/12;
if (zoom>0) o.style.zoom=zoom+'%';
return false;
}
</SCRIPT>

在图片属性加上onmousewheel="return bbimg(this)" onload="javascript:resizepic(this)" 代码即可让超过400像素的图片自动缩略。

⑵ php如何实现图片的裁剪

php中裁剪图片主要使用gd库的imageresampled方法

$src_path='1.jpg';
//创建源图的实例
$src=imagecreatefromstring(file_get_contents($src_path));

//裁剪开区域左上角的点的坐标
$x=100;
$y=12;
//裁剪区域的宽和高
$width=200;
$height=200;
//最终保存成图片的宽和高,和源要等比例,否则会变形
$final_width=100;
$final_height=round($final_width*$height/$width);
//将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
$new_image=imagecreatetruecolor($final_width,$final_height);
imageresampled($new_image,$src,0,0,$x,$y,$final_width,$final_height,$width,$height);
//输出图片
header('Content-Type:image/jpeg');
imagejpeg($new_image);
imagedestroy($src);
imagedestroy($new_image);

⑶ php创建缩略图问题

其实PHP创建缩略图就是在PHP在原图片的基础上创建一张新的图片的过程,而用PHP创建图像的过程一般分成四部:

第一步:创建一张画布(只要是画图都需要一张画布的)

第二步:在画布画东西(可以画各种图形,如长方形,直线,等等,也可以在画布上写字啥的,或者画其他的图形)

第三步:画完图之后,将图片输出,将图片输出到浏览器,在浏览器显示出来,或者保存为一张新 的图片(缩略图一般是保存为图片文件的)

第四步:因为创建画布时打开了文件流,所以要关闭资源,节省内存。(个人觉得你可以这样理解,打开了一画布,把它铺开了,画完了就把画布卷起来,收起来,不要占着铺的地方)


具体的代码如下:(这段代码来源于ThinkPHP的图像类)

<?php
classThumb{
/**
*@paramstring$image原图
*@paramstring$thumbname缩略图文件名
*@paramstring$type图像格式
*@paramstring$maxWidth宽度
*@paramstring$maxHeight高度
*/
staticcreate($img,$thumbname,$type='',$maxWidth=200,$maxHeight=50)
{
$info=getimagesize($img);//获取原图的图像信息(长、宽、格式等)
if($info!==false){
$srcWidth=$info['width'];
$srcHeight=$info['height'];
$type=empty($type)?$info['type']:$type;
$type=strtolower($type);
$interlace=$interlace?1:0;
unset($info);
$scale=min($maxWidth/$srcWidth,$maxHeight/$srcHeight);//计算缩放比例
if($scale>=1){
//超过原图大小不再缩略
$width=$srcWidth;
$height=$srcHeight;
}else{
//缩略图尺寸
$width=(int)($srcWidth*$scale);
$height=(int)($srcHeight*$scale);
}

//载入原图(在原图的基础上创建画布,为第一步)
$createFun='ImageCreateFrom'.($type=='jpg'?'jpeg':$type);
if(!function_exists($createFun)){
returnfalse;
}
$srcImg=$createFun($image);

//第二步开始
//创建缩略图
if($type!='gif'&&function_exists('imagecreatetruecolor'))
$thumbImg=imagecreatetruecolor($width,$height);
else
$thumbImg=imagecreate($width,$height);
//png和gif的透明处理byluofei614
if('png'==$type){
imagealphablending($thumbImg,false);//取消默认的混色模式(为解决阴影为绿色的问题)
imagesavealpha($thumbImg,true);//设定保存完整的alpha通道信息(为解决阴影为绿色的问题)
}elseif('gif'==$type){
$trnprt_indx=imagecolortransparent($srcImg);
if($trnprt_indx>=0){
//itstransparent
$trnprt_color=imagecolorsforindex($srcImg,$trnprt_indx);
$trnprt_indx=imagecolorallocate($thumbImg,$trnprt_color['red'],$trnprt_color['green'],$trnprt_color['blue']);
imagefill($thumbImg,0,0,$trnprt_indx);
imagecolortransparent($thumbImg,$trnprt_indx);
}
}
//复制图片
if(function_exists("ImageCopyResampled"))
imageresampled($thumbImg,$srcImg,0,0,0,0,$width,$height,$srcWidth,$srcHeight);
else
imageresized($thumbImg,$srcImg,0,0,0,0,$width,$height,$srcWidth,$srcHeight);

//第三步:输出图像
//生成图片
$imageFun='image'.($type=='jpg'?'jpeg':$type);
$imageFun($thumbImg,$thumbname);

//第四步:关闭画布
imagedestroy($thumbImg);
imagedestroy($srcImg);
return$thumbname;
}
returnfalse;

}

}
?>

你使用的时候直接用:

requireThumb.class.php
$thumb=Thumb::create('s.jpg','thumb_s.jpg',100,50);

希望我的回答你能满意

⑷ PHP 图片上传生成缩略图

//2014年3月5日15:08:02因为需要做缩略图,所以改用thinkphp来做上传,它支持时间戳命名,方便命名,以及更名
//这是以前网络到的,然后使用的缩略图代码,需要cg库支持

/**
*生成缩略图
*@[email protected]
*@paramstring源图绝对完整地址{带文件名及后缀名}
*@paramstring目标图绝对完整地址{带文件名及后缀名}
*@paramint缩略图宽{0:此时目标高度不能为0,目标宽度为源图宽*(目标高度/源图高)}
*@paramint缩略图高{0:此时目标宽度不能为0,目标高度为源图高*(目标宽度/源图宽)}
*@paramint是否裁切{宽,高必须非0}
*@paramint/float缩放{0:不缩放,0<this<1:缩放到相应比例(此时宽高限制和裁切均失效)}
*@returnboolean
*/
functionfileext($file)
{
returnstrtolower(pathinfo($file,PATHINFO_EXTENSION));
}

functionimg2thumb($src_img,$dst_img,$width=75,$height=75,$cut=0,$proportion=0)
{
if(!is_file($src_img))
{
returnfalse;
}
$ot=$this->fileext($dst_img);
$otfunc='image'.($ot=='jpg'?'jpeg':$ot);
$srcinfo=getimagesize($src_img);
$src_w=$srcinfo[0];
$src_h=$srcinfo[1];
$type=strtolower(substr(image_type_to_extension($srcinfo[2]),1));
$createfun='imagecreatefrom'.($type=='jpg'?'jpeg':$type);

$dst_h=$height;
$dst_w=$width;
$x=$y=0;

/**
*缩略图不超过源图尺寸(前提是宽或高只有一个)
*/
if(($width>$src_w&&$height>$src_h)||($height>$src_h&&$width==0)||($width>$src_w&&$height==0))
{
$proportion=1;
}
if($width>$src_w)
{
$dst_w=$width=$src_w;
}
if($height>$src_h)
{
$dst_h=$height=$src_h;
}

if(!$width&&!$height&&!$proportion)
{
returnfalse;
}
if(!$proportion)
{
if($cut==0)
{
if($dst_w&&$dst_h)
{
if($dst_w/$src_w>$dst_h/$src_h)
{
$dst_w=$src_w*($dst_h/$src_h);
$x=0-($dst_w-$width)/2;
}
else
{
$dst_h=$src_h*($dst_w/$src_w);
$y=0-($dst_h-$height)/2;
}
}
elseif($dst_wxor$dst_h)
{
if($dst_w&&!$dst_h)//有宽无高
{
$propor=$dst_w/$src_w;
$height=$dst_h=$src_h*$propor;
}
elseif(!$dst_w&&$dst_h)//有高无宽
{
$propor=$dst_h/$src_h;
$width=$dst_w=$src_w*$propor;
}
}
}
else
{
if(!$dst_h)//裁剪时无高
{
$height=$dst_h=$dst_w;
}
if(!$dst_w)//裁剪时无宽
{
$width=$dst_w=$dst_h;
}
$propor=min(max($dst_w/$src_w,$dst_h/$src_h),1);
$dst_w=(int)round($src_w*$propor);
$dst_h=(int)round($src_h*$propor);
$x=($width-$dst_w)/2;
$y=($height-$dst_h)/2;
}
}
else
{
$proportion=min($proportion,1);
$height=$dst_h=$src_h*$proportion;
$width=$dst_w=$src_w*$proportion;
}

$src=$createfun($src_img);
$dst=imagecreatetruecolor($width?$width:$dst_w,$height?$height:$dst_h);
$white=imagecolorallocate($dst,255,255,255);
imagefill($dst,0,0,$white);

if(function_exists('imageresampled'))
{
imageresampled($dst,$src,$x,$y,0,0,$dst_w,$dst_h,$src_w,$src_h);
}
else
{
imageresized($dst,$src,$x,$y,0,0,$dst_w,$dst_h,$src_w,$src_h);
}
$otfunc($dst,$dst_img);
imagedestroy($dst);
imagedestroy($src);
returntrue;
}

⑸ php图片缩放,对于包含exif信息的数码图片怎么处理

缩放属于php压缩成新图片,当然就去掉exif头信息;
php获取exif使用 exif_read_data

⑹ 怎么改变文件的大小

问题一:如何修改照片格式及文件大小? 帐号修复支持中心所支持上传的照片不可超过1M大小,如果您的图片较大,可参考以下方法调整图片文件大小。 具体操作方法如下(以Windows系统自带的画图工具为例):1、找到需要调整的图片并右键点击该图物隐片,在下拉菜单中选择“打开方式”-->“画图”;2、打开画图工具后,在画图窗口正下方可以看到此图片的高和宽(作为下一步填写缩放比例的依据);3、然后点击“图像”栏目中的“重新调整大小”按钮;4、在弹窗中选中“百分比(默认)”-->根据您的需要调整水平和垂直的“百分比值”-->最后点击“确定”即可;(水平和垂耿的百分比值可根据图片的高和宽来决定缩放比例,一般将缩放后的图片高和宽控制在500-1200像素之间最为合适)5、点击“文件”按钮-->并在下拉选项中选择“另存为”-->选择“JPEG图片”格式;6、保存完毕后会生成一张新的JPEG格式的图片,在图片属性中可以查看修改后的图片大小,如果文件还是比较大,可以继续用此法进行压缩直到合适为止。

问题二:如何修改上传文件的大小 找到php.ini文件,
编辑该文件
搜索:memory_limit、post_max_size、upload_max_filesize、max_execution_time、max_input_time
一般默认的设置值为:
memory_limit=128M 相当于单个脚本可调用内存大小
post_max_size=8M 上传文件大小上限
upload_max_filesize=2M默认上传文件大小,这个就是2M的限制!
max_execution_time=30最大执行时间,页面等待时间
max_input_time=60最大输入时间?具体意义不明确,就是上传时间相关
然后将其改为自己需要的值,例如:
memory_limit=128M
post_max_size=12M
upload_max_filesize=10M这样就改为可以传10M以下的文件了
max_execution_time=60
max_input_time=60
重启服务使得设置才能生效!

问题三:ps怎么更改已经建好的文件大小 如图
点击 图像――图像大小,即可出现图龚框图
直接修改,即可
如果有疑问,可以追问

问题四:win7如何改变文件夹图标的大小? 您好,这很简单
当你调好一个文件夹的图标后
在这个文件夹点左上角的 组织――文件夹和搜索选项――查看――应用到文件夹――确定
这样所有耐纳的文川夹显示模式都一样了

问题五:如何修改扫描文件的大小和尺寸 方法如下
文件大小:打开,另存为,选择格式,会弹出一个对话框选择品质,越低文件越小,质量越差,根据需要选择,如果对分辨率没有要求,就减少分辨率,菜单栏图像,图像大小,分辨率,在里面输入数值即可
尺寸大小:打开,图像,图像大小,在里面输入大小即可,如果是剪裁,打开之后在工具箱找到剪裁工具,拖拽,拖出保留的区域双击即可剪裁完毕

问题六:用photoshop怎样改变文件大小 文件----存储为---jpg格式----jpg选项----图像选项---低,中,高,最佳,品质Q同时显示3.5.8.10。或者调滑块:小文件---大文件。
这样只改变图功文件大小,不改变图片尺寸。

问题七:怎么改照片大小(包括容量大小即KB大小和尺寸大小)? 给你说个简单的方法
右键在照片上单击,在弹出的菜单选择编辑(默郸用系统自带的画图工具打开),打开图片以后点编辑窗口的图像下拉缩或扭曲,然后按照长宽百分比缩放照片到合适的大小,最后点文件菜单下的另存为,保存格式选择JPG格式,保存。注意记得更换文件名称,要不就覆盖你原来的照片了。

问题八:PNG图片文件大小怎么改变 实际上在photoshop中,需要“存储为web所鼎格式”,在对话框中选择格式为png-8,这样保存的文件体积会罩亩厅很小。(注意:直接通过菜单命令,改图像模式为索引色,文件体积还是很大,为什么这样我也不知道。另外有专门减小png体积的工具OptiPNG,适合批量优化png体积,可以试试。)

问题九:如何改变word2007文档大小 方法一、重新进行页面设置
1、在保存文件前,单击“页面布局”选项卡“页面设置”组右下角的“对话框启动器”按钮。
2、在打开的“页面设置”对话框中,任意单击其中的“纸张大小”、“页边距”等,无须改变其中的内容,单击“确定”按钮后,再保存文件,这样就缩小word文档大小了。
方法二、定稿后,复制到新建文档中
Word文档经过多次编辑,其存盘后的文件会迅速膨胀,尤其是含有数个图片的Word文件,因此一篇文档经过反复编辑并已定稿后,可将文档内容复制到新的文档中,这样同样可以实现缩小word文档大小,这也是一种非常方便实用的减小word文档大小的方法。
方法三、对图片格式进行处理
在插入图片之前,首先有必要对图片格式进行处理,尽量使用JPG格式的压缩图片格式,而且这种图片格式又能保持图片更高的清晰度,这里顺便说一下,为了让JPG文件足够的小,请在PS中以另存为WEB格式保存,然后选择JPG格式,同时选择50%的质量度,这样JPG文件不但小而且不会造成颜色失真,也只有把JPG文件图片变小了这样才能缩小word文档大小,从而减小word文件大小。
方法四、简单的文档格式
在文档中设置各种字号和字体同样会影响Word文件大小,这就有必要在文档排版过程中尽量使用简单的字体字型字号,不必过多地使用华丽的渲染效果,设置排版越简单Word文件就越小,反之word文档就越大,设置简单的文档格式可以说是一种最直接的减小word文件大小的方法。
方法五、文件另存为Word
在保存DOC文件时,只要把后来修改的信息存入,这样即使用删除了文件中的部分内容也会使文件越来越大,如果用“另存为”命令来保存文件,这样就可以有效地减少文档容量从而实现缩小word文档大小。
方法六、谨慎嵌入字体
Word有嵌入字体技术,能够将一篇文章所含的字体结合成一个文件,以便文件在另一台计算机上能正确地显示,嵌入的字体越多就越会造成Word越大,只有尽量不用嵌入字体才能缩小word文档大小。取消嵌入字体的步骤是:
1、单击“文件”选项卡左侧导航条中的“选项”命令
2、在弹出“Word”选项对话框的左侧单击“校对”选项卡,并勾选右侧窗体“保存”组中的“嵌入语言数据”复选框,这样就可以在文件中即有所需要的字体,又可以缩小word文档大小。
说明:在Word2003早期版本中实现嵌入字体相关功能,需在“工具”菜单下的“选项”中的保存选项卡中进行设置。

问题十:Word怎么改变其中一页的页面大小 左上角,文件。页面设置里面,然后改宽度,预览那里的应用于:选本节。如果没本节给你选,就选插入点后,等于是新建了一个页面。

热点内容
算法实验分析 发布:2025-01-24 13:20:25 浏览:134
安卓和ios步数哪个准确 发布:2025-01-24 13:12:13 浏览:289
怎么给电脑换配置 发布:2025-01-24 13:04:04 浏览:920
如何修改服务密码10086 发布:2025-01-24 12:44:27 浏览:512
dosftp连接 发布:2025-01-24 12:35:56 浏览:802
编程来炒股 发布:2025-01-24 12:35:14 浏览:855
python正则中括号 发布:2025-01-24 12:32:08 浏览:585
配置排列用英语怎么说 发布:2025-01-24 12:32:00 浏览:607
led流水灯c语言程序 发布:2025-01-24 12:28:15 浏览:47
苹果平板锁屏密码在哪里 发布:2025-01-24 12:16:41 浏览:958