PHP图像处理的

这个东西我用于上传图片时用,我PHP对图像处理次到无法再次,实在对用PHP进行图像处理有抗拒心:1)建立句柄(这个可以略)2)判断图片宽大还是高大,如果宽大,就W=100... 这个东西我用于上传图片时用,我PHP对图像处理次到无法再次,实在对用PHP进行图像处理有抗拒心:
1)建立句柄(这个可以略)
2)判断图片宽大还是高大,
如果宽大,就W=100,H=sprintf("%.1f"原来的高*(100/W);
否则W=100,H=100
顺便得到X=(100-W)/2,Y=(100-Y)/2
3)建立画布,然后填充为白色(这里是完全不懂的地方)
4) 把图片放到画布内X,Y的位置。
PS.帮看看是不是错了,得到的图每次第2张都没有变小,而是一个人头结果只剩头发之类的。
$imgfils = $src.$upname;
$imginfo = getimagesize($src.$upname);
if($imginfo['1']<$imginfo['0']){
$thew=100;
$theh=sprintf("%.1f",$imginfo['1']*(100/$imginfo['0']));
$thex=0;
$they=(100-$theh)/2;
}
if($imginfo['0']>$imginfo['1']){
$theh=100;
$thew=sprintf("%.1f",$imginfo['0']*(100/$imginfo['1']));
$they=0;
$thex=(100-$theh)/2;
}
else{
$theh=100;
$thew=100;
$thex=0;
$they=0;
}
switch ($imginfo[2]) { // 图像类型判断
case 1:
$im = imagecreatefromgif($imgfils);
break;
case 2:
$im = imagecreatefromjpeg($imgfils);
break;
case 3:
$im = imagecreatefrompng($imgfils);
break;
}
$white=imagecolorallocate();
$tn = imagecreatetruecolor(100,100); //创建缩略图
imagecopyresampled($tn, $im, 0, 0,$thex,$they,$thew, $theh,'100','100'); //复制图像并改变大小
imagejpeg($tn,$imgfils); //输出图像
die();
展开
 我来答
奴性的世界day
推荐于2016-03-05 · TA获得超过558个赞
知道小有建树答主
回答量:575
采纳率:0%
帮助的人:384万
展开全部
<?php
//图片的等比缩放
//因为PHP只能对资源进行操作,所以要对需要进行缩放的图片进行拷贝,创建为新的资源
$src = imagecreatefromjpeg('a.jpg');
//取得源图片的宽度和高度
$size_src = getimagesize('a.jpg');
$w = $size_src['0'];
$h = $size_src['1'];
//指定缩放出来的最大的宽度(也有可能是高度)
$max = 100;
//根据最大值,算出另一个边的长度,得到缩放后的图片宽度和高度
if ($w > $h) {
    $w = $max;
    $h = $h * ($max / $size_src['0']);
} else {
    $h = $max;
    $w = $w * ($max / $size_src['1']);
}
//声明一个$w宽,$h高的真彩图片资源
$image = imagecreatetruecolor($w, $h);
//关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h)
imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src['0'], $size_src['1']);
//告诉浏览器以图片形式解析
header('content-type:image/png');
imagepng($image);
//销毁资源
imagedestroy($image);
追问
我并不是要等比例压缩,我是要把它等比例压缩后,生成一张100x100的图,然后图片在这张100的画布位置上下或左右居中,画布背景要白的
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
仙剑李逍遥604
2014-09-22 · TA获得超过195个赞
知道答主
回答量:207
采纳率:50%
帮助的人:158万
展开全部
gif这种动态图片暂时没有方便的方法处理,如果是jpg等很好处理
//来自文件的图片做背景图
$im=imagecreatefromjpeg('a.');
//给创建的图形设制背景色,第一次调用imagecolorallocate是设定背景色
$backgroundColor = imagecolorallocate($im, 255, 255, 255);
//设定图形上写入的文本的颜色
$textColor = imagecolorallocate($im, 255, 0, 0);
//将数字写入到所生成的图片的指定位置,imagestring多用于写入数字与简单ascii字符,其第2个参数的含义是字体,第三四个参数的意思是位置
//imagestring($im, 1, 5, 5, '12345' , $text_color);
//对写入的汉字的字符集进行转换,如果本身就是用utf-8进行的编码则无需要转换了
$content=iconv('utf-8','gb2312',"测试用www.phpchengdu.com");
满意请采纳。
追问
这……我不需要这些个什么汉字处理,字体什么的,我需要的是实现我所要的功能即可,我这方面知识真是次无可次,最好按我说的步骤1,2,3,4的写出来,不然实在看不懂呀。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式