php 图片大小调整,在PHP中调整图像大小

本资源也值得考虑-一些非常整洁的代码,使用GD。但是,我修改了他们最后的代码片段,以创建符合操作要求的函数.

function store_uploaded_image($html_element_name, $new_img_width, $new_img_height) {

$target_dir = "your-uploaded-images-folder/";

$target_file = $target_dir . basename($_FILES[$html_element_name]["name"]);

$image = new SimpleImage();

$image->load($_FILES[$html_element_name]['tmp_name']);

$image->resize($new_img_width, $new_img_height);

$image->save($target_file);

return $target_file; //return name of saved file in case you want to store it in you database or show confirmation message to user}

您还需要包含这个PHP文件.。<?php /*

* File: SimpleImage.php

* Author: Simon Jarvis

* Copyright: 2006 Simon Jarvis

* Date: 08/11/06

* Link: http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/

*

* This program is free software; you can redistribute it and/or

* modify it under the terms of the GNU General Public License

* as published by the Free Software Foundation; either version 2

* of the License, or (at your option) any later version.

*

* This program is distributed in the hope that it will be useful,

* but WITHOUT ANY WARRANTY; without even the implied warranty of

* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

* GNU General Public License for more details:

* http://www.gnu.org/licenses/gpl.html

*

*/class SimpleImage {

var $image;

var $image_type;

function load($filename) {

$image_info = getimagesize($filename);

$this->image_type = $image_info[2];

if( $this->image_type == IMAGETYPE_JPEG ) {

$this->image = imagecreatefromjpeg($filename);

} elseif( $this->image_type == IMAGETYPE_GIF ) {

$this->image = imagecreatefromgif($filename);

} elseif( $this->image_type == IMAGETYPE_PNG ) {

$this->image = imagecreatefrompng($filename);

}

}

function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {

if( $image_type == IMAGETYPE_JPEG ) {

imagejpeg($this->image,$filename,$compression);

} elseif( $image_type == IMAGETYPE_GIF ) {

imagegif($this->image,$filename);

} elseif( $image_type == IMAGETYPE_PNG ) {

imagepng($this->image,$filename);

}

if( $permissions != null) {

chmod($filename,$permissions);

}

}

function output($image_type=IMAGETYPE_JPEG) {

if( $image_type == IMAGETYPE_JPEG ) {

imagejpeg($this->image);

} elseif( $image_type == IMAGETYPE_GIF ) {

imagegif($this->image);

} elseif( $image_type == IMAGETYPE_PNG ) {

imagepng($this->image);

}

}

function getWidth() {

return imagesx($this->image);

}

function getHeight() {

return imagesy($this->image);

}

function resizeToHeight($height) {

$ratio = $height / $this->getHeight();

$width = $this->getWidth() * $ratio;

$this->resize($width,$height);

}

function resizeToWidth($width) {

$ratio = $width / $this->getWidth();

$height = $this->getheight() * $ratio;

$this->resize($width,$height);

}

function scale($scale) {

$width = $this->getWidth() * $scale/100;

$height = $this->getheight() * $scale/100;

$this->resize($width,$height);

}

function resize($width,$height) {

$new_image = imagecreatetruecolor($width, $height);

imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());

$this->image = $new_image;

}      }?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值