Home > Backend Development > PHP Tutorial > PHP generates thumbnail classic class_PHP tutorial

PHP generates thumbnail classic class_PHP tutorial

WBOY
Release: 2016-07-13 10:46:09
Original
887 people have browsed it

I found a php code to generate thumbnails from a foreign website. Friends in need can refer to it.

The code is as follows Copy code

/*
* File: SimpleImage.php
* Author: Simon Jarvis
* Copyright: 2006 Simon Jarvis
*Date: 08/11/06
* Link: http://www.white-hat-web-design.co.uk/articles/php-image-resizing.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;
   }     
 
}
?>


Usage
Save the above file as SimpleImage.php and take a look at the following examples of how to use the script.

The first example below will load a file named picture.jpg resize it to 250 pixels wide and 400 pixels high and resave it as picture2.jpg

   $image = new SimpleImage();
 代码如下
 代码如下 复制代码

include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
   $image->resize(250,400);
   $image->save('picture2.jpg');
?>

复制代码

 代码如下 复制代码

include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
   $image->resizeToWidth(250);
   $image->save('picture2.jpg');
?>

   include('SimpleImage.php');
   $image->load('picture.jpg');    $image->resize(250,400);

   $image->save('picture2.jpg');

?> If you want to resize to a specifed width but keep the dimensions ratio the same then the script can work out the required height for you, just use the resizeToWidth function
 代码如下 复制代码
   include('SimpleImage.php');    $image = new SimpleImage();    $image->load('picture.jpg');    $image->resizeToWidth(250);    $image->save('picture2.jpg');
?>
http://www.bkjia.com/PHPjc/632969.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632969.htmlTechArticle从国外网站找到的一款php生成缩略图代码,有需要的朋友可以参考一下。 代码如下 复制代码 ?php /* * File: SimpleImage.php * Author: Simon Jarvis * C...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template