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 つのファイルが生成されます。1 つはダウンロードされた画像ファイル、1 つは一時ファイル、最後のファイルは加工された画像ファイル。最初の 2 つのファイルは最適化してクリーンアップする必要があります。
function down($url)
{
] = $header;
}
$http['タイムアウト'] = 50;
$ctx = stream_context_create(array(
'http' ));
if (!$content) {
false を返します。
$tmpfile = tempfile();
file_put_contents($tmpfile, $content);
return $tmpfile;
}
function tempfile()
{
$path = dirname(__FILE__)(time() / 300);
if(!file_exists($ path)){
する
タッチ($file);
return $file;
}
画像処理ソースコード (公式ウェブサイトアドレス: http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/):
コードをコピー
コードは次のとおりです:
/*
* ファイル: SimpleImage.php
* 著者: Simon Jarvis
* 著作権: 2006 Simon Jarvis
* 日付: 08/11/06
* リンク: http://www.white -hat-web-design.co.uk/articles/php-image-resizing.php
*
* このプログラムはフリー ソフトウェアです。 Free Software Foundation が発行する GNU General Public License
* の条項に基づいて再配布したり、
* 変更したりすることができます。ライセンスのバージョン 2
*、または (オプションで) それ以降のバージョンのいずれかです。
*
* このプログラムは役立つことを願って配布されています
* ただし、いかなる保証もありません。
*商品性や特定目的への適合性についての暗黙の保証もありません。詳細については、
* GNU 一般公衆利用許諾書を参照してください。
* http://www.gnu.org/licenses/gpl.html
*
*/
class SimpleImage {
var $image;
var $image_type;
functionload($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) {
falseを返す;
}
戻る$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);
}
}
関数出力($image_type=IMAGETYPE_JP)例) {
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 imagex($this->image);
}
function getHeight() {
画像を返しますy( $this->image);
}
function sinnerToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() * $ratio ;
$this->resize($width,$height);
}
function raiseToWidth($width) {
if ($this->getWidth() < $width) {
$width = $this->getWidth();
}
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
}
functionscale($scale) {
$width = $this->getWidth() * $scale/100;
$height = $this->getheight() * $scale/100;
$this->サイズ変更($width,$height);
}
関数リサイズ($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;
}
関数リサイズ2 ($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);
imagecolorallocate($新しい画像、$transparent_color[ 'red'], $transparent_color['green'], $transparent_color['blue']);
imagefill($new_image, 0, 0, $current_transparent);
imagecolortransparent($new_image, $current_transparent);
}もし( $this->image_type == IMAGETYPE_PNG) {
imagealphablending($new_image, false);
$color = imagecolorallocatealpha($new_image, 0, 0, 0,
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;
}
}
http://www.bkjia.com/PHPjc/751937.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/751937.html技術記事使用方法の例: 設定度、等比放复制代次例: ?php include('SimpleImage.php'); $image = 新しい SimpleImage(); $image-load('picture.jpg'); $image-resi...