简单php 图片比例缩放代码

 更新时间:2016年11月25日 16:57  点击:1267

我利用了getimagesize来获取原图片的大小然后再x0.5就是把图片/5哦。

array getimagesize ( string $filename [, array &$imageinfo ] )
getimagesize() 函数将测定任何 gif,jpg,png,swf,swc,ps教程d,tiff,bmp,iff,jp2,jpx,jb2,jpc,xbm 或 wbmp 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 html 文件中 <img> 标记中的 height/width 文本字符串。
如果不能访问 filename 指定的图像或者其不是有效的图像,getimagesize() 将返回 false 并产生一条 e_warning 级的错误

*/
//定义一个文件
$filename='1.jpg';
$percent=0.5;
//发送头部文件
header('content-type: image/jpeg');
//获取图像的大小
list($width,$height)=getimagesize($filename);
//定义新的大小
$new_width=$width * $percent;
$new_height=$height * $percent;
$image_p=imagecreatetruecolor($new_width, $new_height);
/*
: int imagecreate(int x_size, int y_size);

返回值: 整数

内容说明


本函数用来建立一张全空的图形。参数 x_size、y_size 为图形的尺寸,单位为像素 (pixel)。

*/
$image=imagecreatefromjpeg($filename);

/*
resource imagecreatefromjpeg ( string filename )   imagecreatefromjpeg() 返回一图像标识符,代表了从给定的文件名取得的图像。   imagecreatefromjpeg() 在失败时返回一个空字符串,并且输出一条错误信息,不幸地在浏览器中显示为断链接。为减轻调试工作下面的例子会产生一个错误 jpeg:
*/
imagecopyresampled($image_p,$image,0,0,0,0,$new_width,$new_height,$width,$height);

/*
):imagecopyresamples() ,其像素插值算法得到的图像边缘比较平滑.质量较好(但该函数的速度比 imagecopyresized() 慢).   两个函数的参数是一样的.如下:   imagecopyresampled(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);
*/
//输出图像
imagejpeg($image_p, null, 100);
/*
执行该代码,将把原图像缩放50%,并以新图像输出
*/

imagecreatetruecolor()返回一个图像标识符代表指定大小的黑色形象。

根据你的php教程和gd版本中函数定义与否。对于php 4.0.6通过4.1.x这个函数总是存在的


*/
$im=imagecreatetruecolor(100,100);        //创建图像
$string='n';            //定义字符
$white=imagecolorallocate($im,255,255,255);      //定义白色
$black=imagecolorallocate($im,0,0,0);       //定义黑色
$red=imagecolorallocate($im,255,0,0);       //定义红色
//在白色的背景上输出一个黑色的"z",其实是颠倒的n
imagecharup($im,6,20,20,$string,$white);
imagechar($im,2,40,40,"r",$red);        //使用红色画出字符
header('content-type: image/png');        //输出头部信息
imagepng($im);            //输出png文件
imagedestroy($im);         //销毁图像

//

$img=imagecreatetruecolor(400,400);      //创建图像
$white=imagecolorallocate($img,255,255,255);     //定义白色
$black=imagecolorallocate($img,0,0,0);      //定义黑色
imagearc($img,200,200,350,350,0,360,$white);     //画椭圆弧
header("content-type: image/png");       //输出头信息
imagepng($img);          //输出为png图像
imagedestroy($img);          //销毁图像

//
$size=300;
$image=imagecreatetruecolor($size,$size);
//用白色背景加黑色边框画个方框
$back=imagecolorallocate($image,255,255,255);
$border=imagecolorallocate($image,0,0,0);
imagefilledrectangle($image,0,0,$size-1,$size-1,$back);
imagerectangle($image,0,0,$size-1,$size-1,$border);
$yellow_x=100;
$yellow_y=75;
$red_x=120;
$red_y=165;
$blue_x=187;
$blue_y=125;
$radius=150;
//用alpha值分配一些颜色
$yellow=imagecolorallocatealpha($image,255,255,0,75);
$red=imagecolorallocatealpha($image,255,0,0,75);
$blue=imagecolorallocatealpha($image,0,0,255,75);
//画三个交迭的圆
imagefilledellips教程e($image,$yellow_x,$yellow_y,$radius,$radius,$yellow);
imagefilledellipse($image,$red_x,$red_y,$radius,$radius,$red);
imagefilledellipse($image,$blue_x,$blue_y,$radius,$radius,$blue);
//输出header文件头
header('content-type: image/png');
//最后输出结果
imagepng($image);
imagedestroy($image);

//

$im=imagecreate(100,100);         //创建图像
$string='php';            //定义字符串
$bg=imagecolorallocate($im,255,255,255);      //定义白色
$black=imagecolorallocate($im,0,0,0);       //定义黑色
//在左上角输出指定字符
imagechar($im,1,0,0,$string,$black);
header('content-type: image/png');        //输出头部信息
imagepng($im);            //输出png文件
imagedestroy($im);           //销毁图像

?>

在php教程如果想利用它图片处理函数就必须在php.ini里面的gd库开启哦,
*/
//发送头文件
header("content-type: image/png");
//创建图像,如果失败输出内容
$im=@imagecreate(150,50) or die("cannot initialize new gd image stream");
//定义背景颜色
$background_color=imagecolorallocate($im,255,255,255);
//定义文字颜色
$text_color=imagecolorallocate($im,233,14,91);
//在图像上画出文件
imagestring($im,3,5,5,"hello world",$text_color);
//输出图像文件
imagepng($im);
//销毁图像
imagedestroy($im);
/*
该代码的执行结果如图22.5所示:
*/

// 2图片等比例缩小

//定义一个文件
$filename='1.jpg';
//定义缩放百分比
$percent=0.5;
//输出头文件
header('content-type: image/jpeg');
//获取新的大小
list($width,$height)=getimagesize($filename);
$newwidth=$width * $percent;
$newheight=$height * $percent;
//创建图形区域,并载入图像
$thumb=imagecreatetruecolor($newwidth,$newheight);
$source=imagecreatefromjpeg($filename);
//重新调整大小
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
//输出图像
imagejpeg($thumb);
/*
执行该代码,将把原图像缩放50%,并以新图像输出
*/

//在图片上写文字

//定义内容
$data='ivborw0kggoaaaansuheugaaabwaaaascamaaab/2u7waaaabl'.
      'bmveuaaad///+l2z/daaaasuleqvr4xqwquqoaiaxc2/0vxzdr'.
      'ex4ijtrkb7lobnustxsb0jixiamssqnwlsv+wulf4avk9flq2r'.
      '8a5hse35q3eo2xp1a1wqkzsgetvdtkdqaaaabjru5erkjggg==';
//对内容进行base64编码
$data=base64_decode($data);
//根据字符串新建图像
$im=imagecreatefromstring($data);
if($im!== false)
{
  //如果成功创建,则输出图像
  header('content-type: image/png');
  imagepng($im);
}
else
{
  //如果创建失败,则输出内容
  echo 'an error occured.';
}
/*
该代码的执行结果如图:22.4所示:
*/

//在图片上写文字

header("content-type: image/png");
//创建图像,如果失败输出内容
$im=@imagecreate(100,50) or die("cannot initialize new gd image stream");
//定义背景颜色
$background_color=imagecolorallocate($im,255,255,255);
//定义文字颜色
$text_color=imagecolorallocate($im,233,14,91);
//在图像上画出文件
imagestring($im,1,5,5,"a simple text string",$text_color);
//输出图像文件
imagepng($im);
//销毁图像
imagedestroy($im);
/*
执行该代码将生成一个jpeg图像。
并输出指定字符串
*/

 

在php在要生成高清的图片必须用 imagecreatetruecolor函数来做,下面看它的用法 imagecreatetruecolor(int x,int y)建立的是一幅大小为 和 y的黑色图像,它所举的例子并没用给生成的像素添加背景颜色,而是直接用imagecolorallocate()建立了一个画图的颜色

//创建图像
$im=imagecreatetruecolor(100,100);
//将背景设为红色
$red=imagecolorallocate($im,255,0,0);
imagefill($im,0,0,$red);
//输出图像
header('content-type: image/png');
imagepng($im);
imagedestroy($im);
/*
执行该代码,将生成背景为红色的图形。
*/

//代码二

//创建真彩色图像
$img=imagecreatetruecolor(400,400);
//通过循环执行操作
for($i=10;$i<=350;$i=$i+20)
{
  //定义颜色
  $color=imagecolorallocate($img,200,50,$i);
  //画出椭圆
  imageellips教程e($img,200,200,350,$i,$color);
}
//输出图像
header("content-type: image/png");
imagepng($img);
//销毁图像
imagedestroy($img);
/*
该代码的执行结果如图:22.7所示:
*/
//代码三

//创建真彩色图像
$img=imagecreatetruecolor(200,200);
$white=imagecolorallocate($img,255,255,255);
$red=imagecolorallocate($img,255,0,0);
$blue=imagecolorallocate($img,0,0,255);
//在图像上画图
imagearc($img,100,100,50,150,360,0,$red);
imagearc($img,100,100,150,50,0,360,$blue);
//输出图像
header("content-type: image/png");
imagepng($img);
//销毁图像
imagedestroy($img);
/*
该代码的的执行结果如图22.6所示:
*/


//实例四

//发送头文件
header("content-type: image/png");
//创建图像,如果失败输出内容
$im=imagecreatetruecolor(500,500);      //创建图像
//定义背景颜色
$black=imagecolorallocate($im,0,0,0);
//定义线颜色
$color=imagecolorallocate($im,0,255,255);
//在图像上画出虚线
imageline($im,1,1,450,450,$color);
//输出图像文件
imagepng($im);
//销毁图像
imagedestroy($im);

*/
//创建图像
$image=imagecreatetruecolor(300,300);
//定义画饼状图所需要的颜色
$white=imagecolorallocate($image, 0xff, 0xff, 0xff);
$gray=imagecolorallocate($image, 0xc0, 0xc0, 0xc0);
$darkgray=imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy=imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy=imagecolorallocate($image, 0x00, 0x00, 0x50);
$red=imagecolorallocate($image, 0xff, 0x00, 0x00);
$darkred=imagecolorallocate($image, 0x90, 0x00, 0x00);

/*
imagecolorallocate -- 为一幅图像分配颜色   说明   int imagecolorallocate ( resource image, int red, int green, int blue)   imagecolorallocate() 返回一个标识符,代表了由给定的 rgb 成分组成的颜色。image 参数是 imagecreate() 函数的返回值。red,green 和 blue 分别是所需要的颜色的红,绿,蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xff。imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。
*/
//画图
for($i=160;$i > 150; $i--)
{
  imagefilledarc($image, 150, $i, 200, 80, 0, 45, $darknavy, img_arc_pie);
  imagefilledarc($image, 150, $i, 200, 80, 45, 75 , $darkgray, img_arc_pie);
  imagefilledarc($image, 150, $i, 200, 80, 75, 360 , $darkred, img_arc_pie);
}
imagefilledarc($image, 150, 150, 200, 80, 0, 45, $navy, img_arc_pie);
imagefilledarc($image, 150, 150, 200, 80, 45, 75 , $gray, img_arc_pie);
imagefilledarc($image, 150, 150, 200, 80, 75, 360 , $red, img_arc_pie);
header('content-type: image/png');
imagepng($image);
imagedestroy($image);
/*
imagefilledarc()函数,可以在画出椭圆弧的同时,使用指定颜色对其进行填充。使用此函数的这种功能,就可以很简单的画出一个用于统计的饼状图。下面演示imagefilledarc()函数的使用方法

该代码的执行结果如图22.8所示:
*/

//在图片画线条

//创建真彩色图像
$img=imagecreatetruecolor(300,300);
$white=imagecolorallocate($img,255,255,255);
$red=imagecolorallocate($img,255,0,0);
$green=imagecolorallocate($img,0,255,0);
//在图像上画椭圆
imagefilledellips教程e($img,150,150,250,100,$red);
imagefilledellipse($img,150,150,100,250,$green);
//输出图像
header("content-type: image/png");
imagepng($img);
//销毁图像
imagedestroy($img);
/*
该代码的执行结果如图22.9所示:
*/

[!--infotagslink--]

相关文章

  • 使用PHP+JavaScript将HTML页面转换为图片的实例分享

    这篇文章主要介绍了使用PHP+JavaScript将HTML元素转换为图片的实例分享,文后结果的截图只能体现出替换的字体,也不能说将静态页面转为图片可以加快加载,只是这种做法比较interesting XD需要的朋友可以参考下...2016-04-19
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Photoshop古装美女图片转为工笔画效果制作教程

    今天小编在这里就来给各位Photoshop的这一款软件的使用者们来说说把古装美女图片转为细腻的工笔画效果的制作教程,各位想知道方法的使用者们,那么下面就快来跟着小编一...2016-09-14
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • 利用JS实现点击按钮后图片自动切换的简单方法

    下面小编就为大家带来一篇利用JS实现点击按钮后图片自动切换的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-25
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮

    jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮...2013-10-13
  • js实现上传图片及时预览

    这篇文章主要为大家详细介绍了js实现上传图片及时预览的相关资料,具有一定的参考价值,感兴趣的朋友可以参考一下...2016-05-09
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • Photoshop枪战电影海报图片制作教程

    Photoshop的这一款软件小编相信很多的人都已经是使用过了吧,那么今天小编在这里就给大家带来了用Photoshop软件制作枪战电影海报的教程,想知道制作步骤的玩家们,那么下面...2016-09-14
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08