PHP的圖片等比縮放

來源:互聯網
上載者:User
 1 <?php
2 //圖片的等比縮放
3
4 //因為PHP只能對資源進行操作,所以要對需要進行縮放的圖片進行拷貝,建立為新的資源
5 $src=imagecreatefromjpeg('a.jpg');
6
7 //取得源圖片的寬度和高度
8 $size_src=getimagesize('a.jpg');
9 $w=$size_src['0'];
10 $h=$size_src['1'];
11
12 //指定縮放出來的最大的寬度(也有可能是高度)
13 $max=300;
14
15 //根據最大值為300,算出另一個邊的長度,得到縮放後的圖片寬度和高度
16 if($w > $h){
17 $w=$max;
18 $h=$h*($max/$size_src['0']);
19 }else{
20 $h=$max;
21 $w=$w*($max/$size_src['1']);
22 }
23
24
25 //聲明一個$w寬,$h高的真彩圖片資源
26 $image=imagecreatetruecolor($w, $h);
27
28
29 //關鍵函數,參數(目標資源,源,目標資源的開始座標x,y, 源資源的開始座標x,y,目標資源的寬高w,h,源資源的寬高w,h)
30 imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src['0'], $size_src['1']);
31
32 //告訴瀏覽器以圖片形式解析
33 header('content-type:image/png');
34 imagepng($image);
35
36 //銷毀資源
37 imagedestroy($image);
38
39 ?>

學習之中的一點筆記,嘗試用部落格的方式來記錄。

因本人接觸PHP時間尚短,在書寫過程中,屢加斟酌,但怎奈才疏學淺,難免有誤,如果有疏誤之處,尚求各位,予以指正,感激不盡!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.