亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP圖片等比縮放類SimpleImage使用方法和使用實例分享

2024-05-04 23:22:46
字體:
來源:轉載
供稿:網友

使用方法示例:
設定寬度,等比例縮放

復制代碼 代碼如下:


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


設定高度,等比例縮放

復制代碼 代碼如下:


<?php
   include('SimpleImage.php');
   $image = new SimpleImage();
   $image->load('picture.jpg');
   $image->resizeToHeight(500);
   $image->save('picture2.jpg');
   $image->resizeToHeight(200);
   $image->save('picture3.jpg');?>


按比例,縮放至50%

復制代碼 代碼如下:


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


縮放后直接輸出到屏幕

復制代碼 代碼如下:


<?php
   header('Content-Type: image/jpeg');
   include('SimpleImage.php');
   $image = new SimpleImage();
   $image->load('picture.jpg');
   $image->resizeToWidth(150);
   $image->output();?>


使用例子:

復制代碼 代碼如下:


<?php
include("SimpleImage.php");//圖片處理類在下面

$url="http://f3.v.veimg.cn/meadincms/1/2013/0703/20130703100937552.jpg";
$picfile = down($url);//下載圖片(下載圖片的路徑可以處理完成后清空,這里未進行處理)
$res = new SimpleImage();//圖片處理實例
$res = $res->load($picfile);
$tmpfile = tempfile().'.jpg';//創建一個路徑文件用來保存圖片
$width = '30';//設定圖片的寬度
$res->resizeToWidth($width);
$res->save($tmpfile);//把處理后的圖片保存(無.jpg后綴)
//這里總共產生了3個文件,一個是下載的圖片文件,一個是臨時文件,最后一個是處理的圖片文件。需要優化清理掉前兩個文件。

 


function down($url)
{
        $http = array();
        $header = "http://f3.v.veimg.cn";
        if ($header) {
            $http['header'] = $header;
        }

        $http['timeout'] = 50;

        $ctx = stream_context_create(array(
            'http' => $http,
        ));
        $content = @file_get_contents($url, 0, $ctx);
        sleep(1);

        if (!$content) {
            return false;
        }

        $tmpfile = tempfile();

        file_put_contents($tmpfile, $content);

        return $tmpfile;
}

function tempfile()
{
        $path = dirname(__FILE__);
        $path .= '/spider/' . date('Ymd') . 'http://www.49028c.com/'.date('His').'-' . (int)(time() / 300);

        if (!file_exists($path)) {
            mkdir($path, 0777, true);
        }

        do {
            $file = $path . 'http://www.49028c.com/' . dechex(mt_rand());
        }
        while (file_exists($file));

        touch($file);

        return $file;
}


圖片處理類源碼(官網地址:):

復制代碼 代碼如下:


<?php

/*
* File: SimpleImage.php
* Author: Simon Jarvis
* Copyright: 2006 Simon Jarvis
* Date: 08/11/06
* Link:
*
* 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:
*
*
*/

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);
        }

        if (!$this->image) {
            return false;
        }

        return $this;
    }

    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) {
        if ($this->getWidth() < $width) {
            $width = $this->getWidth();
        }
        $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;
    }

 
    function resize2($width,$height) {
        $new_image = imagecreatetruecolor($width, $height);
        if( $this->image_type == IMAGETYPE_GIF || $this->image_type == IMAGETYPE_PNG ) {
            $current_transparent = imagecolortransparent($this->image);
            if($current_transparent != -1) {
                $transparent_color = imagecolorsforindex($this->image, $current_transparent);
                $current_transparent = imagecolorallocate($new_image, $transparent_color['red'], $transparent_color['green'], $transparent_color['blue']);
                imagefill($new_image, 0, 0, $current_transparent);
                imagecolortransparent($new_image, $current_transparent);
            } elseif( $this->image_type == IMAGETYPE_PNG) {
                imagealphablending($new_image, false);
                $color = imagecolorallocatealpha($new_image, 0, 0, 0, 127);
                imagefill($new_image, 0, 0, $color);
                imagesavealpha($new_image, true);
            }
        }
        imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
        $this->image = $new_image;  
    }

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品成a人在线观看| 国产mv久久久| 亚洲精品国精品久久99热| 国产成人精品免高潮在线观看| 国产精品久久久久国产a级| 日本国产一区二区三区| 亚洲iv一区二区三区| 欧美电影免费看| 日韩高清电影好看的电视剧电影| 久久精品99久久香蕉国产色戒| 91爱视频在线| 久久久视频免费观看| 国产精品99久久久久久久久| 久久久久国产精品免费网站| 欧美三级xxx| 永久免费看mv网站入口亚洲| 欧美www视频在线观看| 亚洲国产99精品国自产| 日本aⅴ大伊香蕉精品视频| 久久99精品久久久久久噜噜| 日韩精品在线私人| 午夜精品美女自拍福到在线| 久久久欧美精品| 91网站在线免费观看| 日产精品99久久久久久| 久久亚洲综合国产精品99麻豆精品福利| 亚洲成人在线网| 成人欧美一区二区三区在线湿哒哒| 精品日韩美女的视频高清| 久久精品99久久久香蕉| 欧美日韩加勒比精品一区| 欧美麻豆久久久久久中文| 在线视频一区二区| 富二代精品短视频| 国内精品久久影院| 久久久精品美女| 欧美日韩日本国产| 亚洲一区二区久久| 日本韩国欧美精品大片卡二| 亚洲第一黄色网| 久久久久中文字幕2018| 久久久久久久久电影| 亚洲一区二区中文字幕| 亚洲人成77777在线观看网| 一区二区三区国产视频| 欧美一级片免费在线| 国产精品视频久| 亚洲欧美日韩区| 2019av中文字幕| 中文字幕视频在线免费欧美日韩综合在线看| 色播久久人人爽人人爽人人片视av| 亚洲精品之草原avav久久| 97视频在线观看播放| 日韩av中文在线| 欧美精品久久久久久久久| 国产丝袜一区视频在线观看| 在线国产精品视频| 高清亚洲成在人网站天堂| 日韩欧美中文字幕在线播放| 久久免费观看视频| 91精品国产自产91精品| 色偷偷av一区二区三区乱| xxxx性欧美| 91福利视频在线观看| 国产91精品在线播放| 国产精品久久999| 亚洲国产免费av| 国产精品成人免费视频| 亚洲图片制服诱惑| 91精品久久久久久久| 日韩精品在线观看网站| 精品国产成人av| 黑人欧美xxxx| 欧美激情精品久久久久久变态| 日韩av电影院| 不卡伊人av在线播放| 久久久久久成人| 成人黄色免费在线观看| 一区二区三区国产在线观看| 国产日本欧美一区二区三区| 一区二区三区精品99久久| 日韩视频免费观看| 国产精品999999| 久久久久亚洲精品国产| 欧美亚洲成人免费| 福利精品视频在线| 日韩美女免费视频| 亚洲字幕在线观看| 成人h片在线播放免费网站| 不卡av在线播放| 亚洲iv一区二区三区| 精品亚洲国产视频| 国产精品久久久久久久久久小说| 国产欧美精品日韩精品| 久久久久免费精品国产| 欧美激情精品久久久久久变态| 亚洲一区二区三区视频| 亚洲精品久久久久久久久久久久久| 国产精品毛片a∨一区二区三区|国| 亚洲一区二区免费| 久久国产加勒比精品无码| 国产精品久久久久久亚洲调教| 亚洲人成网站999久久久综合| 国产日韩在线观看av| 亚洲国产成人精品久久| 亚洲成人激情在线观看| 黑人巨大精品欧美一区二区三区| 91成人性视频| 久久99久久99精品免观看粉嫩| 国产91精品黑色丝袜高跟鞋| 国产成人精品一区二区在线| 91极品女神在线| 国产精品海角社区在线观看| 91久久久久久久久久| 亚洲精品久久在线| 日韩av电影国产| 最近中文字幕日韩精品| 国产在线播放91| 日日狠狠久久偷偷四色综合免费| 91视频免费在线| 欧美有码在线视频| 欧美成人性生活| 久久97久久97精品免视看| 日韩欧美aaa| 97久久精品人人澡人人爽缅北| 国产精品久久一区主播| 国产精品亚洲综合天堂夜夜| 91成人国产在线观看| 国产精品美女在线| 日韩福利视频在线观看| 日韩激情在线视频| 国产成人极品视频| 久久精品国产久精国产思思| 狠狠躁夜夜躁人人躁婷婷91| 亚洲精品欧美日韩专区| 欧美激情亚洲一区| 黑人精品xxx一区一二区| 亚洲最大成人在线| 国产自产女人91一区在线观看| 久久精品福利视频| 久久99热精品这里久久精品| 中文字幕日韩av综合精品| 国产精品免费观看在线| 亚洲精品日韩激情在线电影| 久久综合免费视频影院| 亚洲无线码在线一区观看| 色偷偷亚洲男人天堂| 亚洲国产三级网| 在线视频欧美性高潮| 欧美性色xo影院| 亚洲女人天堂av| 91超碰caoporn97人人| 国产精品成人久久久久| 亚洲精品av在线播放| 久久精品国产v日韩v亚洲| 亚洲精品99久久久久中文字幕| 国产精品丝袜一区二区三区| 日韩精品在线观看网站| 中文字幕亚洲欧美日韩高清| 国产一区二区视频在线观看| 国产主播欧美精品| 91啪国产在线| 韩剧1988在线观看免费完整版| 欧美一区二区影院|