简单生活 发表于 2015-2-3 23:53:14

PHP教程之php停止图片裁剪及生成缩略图法式源代码...

对于PHP的语法结构,刚开始真的很不习惯,真搞不懂为什么每个变量之前都要加个“$”符号,每个语句写完之后都必须加上“分号”来表示此句已经结束,还有,PHP对字母的大小写是敏感的,写的时候一定要注意大小写的区别。法式|源代码|缩略图   处置办法是:
1.当原图的宽或高任一比划定的尺寸小,只停止等比缩略处置,
2.当原图的宽与高都比划定尺寸大,先辈行等比缩略处置,然后算出居中地位停止裁剪

以下是源代码:
<?php
/*
*      &#36;o_photo 原图途径
*      &#36;d_photo 处置后图片途径
*      &#36;width   界说宽
*      &#36;height界说高
*      挪用办法cutphoto("test.jpg","temp.jpg",256,146);
*/

function cutphoto(&#36;o_photo,&#36;d_photo,&#36;width,&#36;height){

&#36;temp_img = imagecreatefromjpeg(&#36;o_photo);
&#36;o_width= imagesx(&#36;temp_img);                              //获得原图宽
&#36;o_height = imagesy(&#36;temp_img);                              //获得原图高

//判别处置办法
if(&#36;width>&#36;o_width || &#36;height>&#36;o_height){      //原图宽或高比划定的尺寸小,停止紧缩

      &#36;newwidth=&#36;o_width;
      &#36;newheight=&#36;o_height;

      if(&#36;o_width>&#36;width){
                &#36;newwidth=&#36;width;
                &#36;newheight=&#36;o_height*&#36;width/&#36;o_width;
      }

      if(&#36;newheight>&#36;height){
                &#36;newwidth=&#36;newwidth*&#36;height/&#36;newheight;
                &#36;newheight=&#36;height;
      }

      //缩略图片
      &#36;new_img = imagecreatetruecolor(&#36;newwidth, &#36;newheight);
      imagecopyresampled(&#36;new_img, &#36;temp_img, 0, 0, 0, 0, &#36;newwidth, &#36;newheight, &#36;o_width, &#36;o_height);
      imagejpeg(&#36;new_img , &#36;d_photo);               
      imagedestroy(&#36;new_img);


}else{                                                                              //原图宽与高都比划定尺寸大,停止紧缩后裁剪

      if(&#36;o_height*&#36;width/&#36;o_width>&#36;height){      //先肯定width与划定不异,假如height比划定大,则ok
                &#36;newwidth=&#36;width;
                &#36;newheight=&#36;o_height*&#36;width/&#36;o_width;
                &#36;x=0;
                &#36;y=(&#36;newheight-&#36;height)/2;
      }else{                                                                        //不然肯定height与划定不异,width自顺应
                &#36;newwidth=&#36;o_width*&#36;height/&#36;o_height;
                &#36;newheight=&#36;height;
                &#36;x=(&#36;newwidth-&#36;width)/2;
                &#36;y=0;
      }

      //缩略图片
      &#36;new_img = imagecreatetruecolor(&#36;newwidth, &#36;newheight);
      imagecopyresampled(&#36;new_img, &#36;temp_img, 0, 0, 0, 0, &#36;newwidth, &#36;newheight, &#36;o_width, &#36;o_height);
      imagejpeg(&#36;new_img , &#36;d_photo);               
      imagedestroy(&#36;new_img);
         
      &#36;temp_img = imagecreatefromjpeg(&#36;d_photo);
      &#36;o_width= imagesx(&#36;temp_img);                              //获得缩略图宽
      &#36;o_height = imagesy(&#36;temp_img);                              //获得缩略图高

      //裁剪图片
      &#36;new_imgx = imagecreatetruecolor(&#36;width,&#36;height);
      imagecopyresampled(&#36;new_imgx,&#36;temp_img,0,0,&#36;x,&#36;y,&#36;width,&#36;height,&#36;width,&#36;height);
      imagejpeg(&#36;new_imgx , &#36;d_photo);
      imagedestroy(&#36;new_imgx);
}

}
?>一些真正的强人总会搞出新玩意来丢给你,你不学就落后了,也印证了前人的经验,果然是学无止境啊!

老尸 发表于 2015-2-4 06:49:30

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

愤怒的大鸟 发表于 2015-2-5 14:43:07

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

仓酷云 发表于 2015-2-7 09:01:11

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

冷月葬花魂 发表于 2015-2-21 09:12:00

基础有没有对学习php没有太大区别,关键是兴趣。

变相怪杰 发表于 2015-2-26 08:01:00

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

灵魂腐蚀 发表于 2015-3-8 12:55:19

本文当是我的笔记啦,遇到的问题随时填充

若相依 发表于 2015-3-15 22:58:07

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

admin 发表于 2015-3-22 04:07:51

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

飘灵儿 发表于 2015-5-4 14:46:16

个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。

若天明 发表于 2015-6-7 21:57:37

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

第二个灵魂 发表于 2015-7-1 06:47:06

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

深爱那片海 发表于 2015-7-9 16:08:41

当然这种网站的会员费就几十块钱。

金色的骷髅 发表于 2015-7-18 20:35:01

写的比较杂,因为我也是个新手,不当至于大家多多指正。

分手快乐 发表于 2015-7-20 00:41:48

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

再见西城 发表于 2015-7-24 09:57:29

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

活着的死人 发表于 2015-9-22 20:20:32

爱上php,他也会爱上你。

再现理想 发表于 2015-10-2 18:13:46

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

小魔女 发表于 2015-10-2 22:39:40

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

小妖女 发表于 2015-10-10 17:42:42

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
页: [1]
查看完整版本: PHP教程之php停止图片裁剪及生成缩略图法式源代码...