网络编程
位置:首页>> 网络编程>> php编程>> PHP截取指定图片大小的方法

PHP截取指定图片大小的方法

作者:shichen2014  发布时间:2023-09-11 13:20:21 

标签:PHP,图片

本文实例讲述了PHP截取指定图片大小的方法。分享给大家供大家参考。具体分析如下:

imagecopyresampled($newim, $im, 0, 0, 7, 174, 120, 42, $new_img_width, $new_img_height); // 原始尺寸 120 x 42

imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height); // 图截出来后放到 500 x 500

imagecopyresampled($newim, $im, 0, 0, 100, 30, 10, 10, $new_img_width, $new_img_height); // 图截出来后缩小到 10 x 10

大概主要是这个 function 的操作而已,主要只看第一个原尺寸的那个参数对照就好了,下述是 imagecopyresampled 的参数,一个一个对照如下:

$newim: imagecreate($new_img_width, $new_img_height); 建立的空白图层

$im: imagecreatefromjpeg($filename); 把原本的图片读进来

0: 输出图要从哪边开始的 x 点(图片输出的点是可以指定的,没指定到的位置就会是你 create 的图层颜色或图)

0: 输出图要从哪边开始的 y 点(同上)

7: 原始图要从哪边开始 x (指定要从哪个 x 点开始截取)

174: 原始图要从哪边开始 y (指定要从哪个点开始截取,截取区块大小由下面两个参数去定)

120: 截图要截多大 width ,从上面的指定的位置,开始截取 120px 宽(如果要放大缩小也是由此处决定)

42: 截图要截多大 height ,从上面的指定的位置,开始截取 42px 高(如果要放大缩小也是由此处决定)

$new_img_width: 这是新的图,从上面写的第二组参数 0, 0 ,要开始画多宽(在此程式目前是指定截图的大小)

$new_img_height: 这是新的图,从上面的第二组参数 0, 0 ,要开始画多高(在此程式目前是指定截图的大小)

PHP实例代码如下:

header("Content-type: image/jpeg"); 
 
$filename = 'book_rabbit_rule.jpg';
/* 读取图档 */
$im = imagecreatefromjpeg($filename); 
/* 图片要截多少, 长/宽 */
$new_img_width = 120;
$new_img_height = 42; 
/* 先建立一个 新的空白图档 */
$newim = imagecreate($new_img_width, $new_img_height); 
// 输出图要从哪边开始 x, y ,原始图要从哪边开始 x, y ,要画多大 x, y(resize) , 要抓多大 x, y
imagecopyresampled($newim, $im, 0, 0, 7, 174, 120, 42, $new_img_width, $new_img_height); 
/* 放大成 500 x 500 的图 */
// imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height); 
/* 将图印出来 */
imagejpeg($newim); 
/* 资源回收 */
imagedestroy($newim);
imagedestroy($im);

希望本文所述对大家的PHP程序设计有所帮助。

0
投稿

猜你喜欢

  • 如果要问做什么事是最有吸引力,那就是创建Web应用。Web设计者们对设计交互式的Web没有什么更好的办法,却对我们做桌面软件的同事投去少许羡
  • <SCRIPT language="javascript">  function&nbs
  • 对于大多数web应用来说,数据库都是一个十分基础性的部分。如果你在使用PHP,那么你很可能也在使用MySQL—LAMP系列中举足轻重的一份子
  • ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access或者一个SQL数据库相连。因为Access是最容易起
  • 在讨论IE6的BUG及如何修复之前,有必要讲叙一些策略去避免这些恼人的问题——正所谓防患于未然 。IE6 市场占有率据Market Shar
  • 前言undefined 和 null 的区别是个老生常谈的话题了,之前我对二者的区别只是简单理解,例如二者转成 Boolean 类型都是 f
  • 我在前几天的博客中翻译了一篇《20个对学习CSS3大有裨益的资源》的文章,其中推荐了Get started with CSS 3,本文为其中
  • Q0.创建用户【前提】    你必须有CREATE USER系统权限。当你使用CREATE USER语句创建一
  • 来自Six Revisions的一篇文章,作者对一些主流的浏览器进行了测试比较,测试主要针对以下几个方面进行:1.JavaScript执行速
  • 上文:栅格:一以贯之Jacci Howard Bear 的英文原文:http://desktoppub.about.com/od/grids
  • 方法如下: response.cookies(cookiesname)[(key)|.attribute]=value 解释如下:cooki
  • 武器档案名称:firebug最新版本:1.7用途:前端调试器必备指数:使用难度:firebug是前端最具盛名的调试器,功能非常强悍。fire
  • 上次在blueidea上看到一个元素圆角的实现方法,但是那个太复杂了。于是就自己写了一个函数,可以将元素自动圆角,如div层,表格等。共有四
  • 代码如下: <!-- #include file="../conn.asp" --> <!-- #in
  • 很多时候,我们都在说设计需要引导用户,尤其是在对初级用户的引导上,很大程度决定着产品能否快速聚拢用户的可能;但同样很多时候,用户并不需要引导
  • 在ASP中Request对象是获取客户端提交数据的一个很重要的对象,大家对他也是非常熟悉了。 虽然如此,还是经常有人问我下面的几种写法有什么
  • 常用的 random 模块方法import random# random.random()用于生成一个 0 到 1 的随机浮点数: 0 &l
  • PDOStatement::rowCountPDOStatement::rowCount — 返回受上一个 SQL 语句影响的行数(PHP
  • 本地环境设置在这里我们介绍设置Go编程语言环境,需要在你的计算机上的准备以下两个软件,(A)文本编辑器和(B)Go编译器。文本编辑器这将用来
  • 1.如果每页都增加打印时间,又如何设置?打印时间的,你可以参考 for(var i=0;i<page.length;i++)
手机版 网络编程 asp之家 www.aspxhome.com