日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

在php中图片放大怎么实现,用PHP实现图片的缩放与裁剪

發(fā)布時間:2024/9/27 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在php中图片放大怎么实现,用PHP实现图片的缩放与裁剪 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

圖片太大且規(guī)格不統(tǒng)一,顯示的控制需要靠JavaScript來完成,用在移動設(shè)備上時顯示效果不好且流量巨大,需要對現(xiàn)有圖片庫的圖片進行一次處理,生成符合移動設(shè)備用的縮略圖,將原來客戶端JS做的工作轉(zhuǎn)移到服務(wù)器端用PHP的GD庫來集中處理。

圖片源與需要的大小:

$src_img = "wallpaper.jpg";

$dst_w = 300;

$dst_h = 200;

剪裁圖像,保證圖像區(qū)域最大化顯示,并按比例縮放到指定大小。

一開始采用了 imagecopyresized 方法進行圖像等比縮小,實際操作后發(fā)現(xiàn),圖像縮小后燥點非常嚴重。后再換用 imagecopysampled 方法,該方法會對圖像進行重新采樣,對縮小的圖像進行平滑處理,使清晰度得到很大提高。

list($src_w,$src_h)=getimagesize($src_img); // 獲取原圖尺寸

$dst_scale = $dst_h/$dst_w; //目標圖像長寬比

$src_scale = $src_h/$src_w; // 原圖長寬比

if($src_scale>=$dst_scale){ // 過高

$w = intval($src_w);

$h = intval($dst_scale*$w);

$x = 0;

$y = ($src_h - $h)/3;

}

else{ // 過寬

$h = intval($src_h);

$w = intval($h/$dst_scale);

$x = ($src_w - $w)/2;

$y = 0;

}

// 剪裁

$source=imagecreatefromjpeg($src_img);

$croped=imagecreatetruecolor($w, $h);

imagecopy($croped,$source,0,0,$x,$y,$src_w,$src_h);

// 縮放

$scale = $dst_w/$w;

$target = imagecreatetruecolor($dst_w, $dst_h);

$final_w = intval($w*$scale);

$final_h = intval($h*$scale);

imagecopysampled($target,$croped,0,0,0,0,$final_w,$final_h,$w,$h);

// 保存

$timestamp = time();

imagejpeg($target, "$timestamp.jpg");

imagedestroy($target);

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的在php中图片放大怎么实现,用PHP实现图片的缩放与裁剪的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。