• Dec 22 Tue 2009 23:33
  • 縮圖

有GD格式及ImageMagick縮圖方式

/**
* GD縮圖
* $dir - 原始目錄
* $file - 檔案名稱
* $size - 最終的大小
*/ 
function squareThumbnailByGd($dir$file$size) { 
    $ratioSize = 120; // 預先縮圖,無論圖片大小,先強制縮成指定像素為基準的大小 
    $realPosition = $dir . $file// 圖片加路徑 
    $thumbDir = $dir . 'thumbnails/'// 縮圖目錄 
 
    if (file_exists($realPosition)) { 
        $fileName = current(explode('.'$file)); // 檔名 
        $ext = strtolower(end(explode('.'$realPosition))); // 副檔名 
        $newName = $fileName . '_' . $size . 'x' . $size . '_byGD.' . 'jpg'//新檔名 
         
        // 如果該縮圖存在則直接出圖 
        if (file_exists($thumbDir . $newName)) { 
            echo '<img src="' . $thumbDir . $newName . '" />'
            return
        } 
         
        switch ($ext) { 
            case 'jpg'
            case 'jpeg'
                $src = imagecreatefromjpeg($realPosition); 
                break
            case 'gif'
                $src = imagecreatefromgif($realPosition); 
                break
            case 'png'
                $src = imagecreatefrompng($realPosition); 
                break
        } 
         
        $srcW = imagesx($src); // 原始寬度 
        $srcH = imagesy($src); // 原始高度 
         
        if ($srcW >= $srcH) { 
            // 以高來等比例縮第一次圖 
            $newW = ceil($srcW / $srcH * $ratioSize); // 新寬度 
            $newH = $ratioSize// 新高度 
        } else { 
            // 以寬來等比例縮第一次圖 
            $newW = $ratioSize// 新寬度 
            $newH = ceil($srcH / $srcW * $ratioSize); // 新高度 
        } 
         
        // 縮第一次圖 
        $im = imagecreatetruecolor($newW$newH); 
        imagecopyresampled($im$src, 0, 0, 0, 0, $newW$newH$srcW$srcH); 
         
        // 縮需求大小的圖 
        $im2 = imagecreatetruecolor($size$size); 
        $coordX = ($newW - $size) / 2; 
        $coordY = ($newH - $size) / 2; 
 
        imagecopyresampled($im2$im, 0, 0, $coordX$coordY$newW$newH$newW$newH); 
         
        imagejpeg($im2$thumbDir . $newName, 100); //輸出 
        imagedestroy($im); 
        imagedestroy($im2); 
 
        echo '<img src="' . $thumbDir . $newName . '" />'
    } 

 

avrilnote 發表在 痞客邦 留言(0) 人氣()

參考1:

http://www.sid6581.net/cs/csc490/presentation.php

avrilnote 發表在 痞客邦 留言(0) 人氣()

<?php
   
// Use this code to write directly to the COM1 serial port

avrilnote 發表在 痞客邦 留言(0) 人氣()

參考頁面http://www.programmer-club.com.tw/showSameTitleN/php/4763.html

 

avrilnote 發表在 痞客邦 留言(0) 人氣()

【語法】修改部落格標題 - 將文字替換成圖片

分類:CSS素材
2007/01/10 12:07

avrilnote 發表在 痞客邦 留言(2) 人氣()

smarty實例教學

avrilnote 發表在 痞客邦 留言(0) 人氣()

smarty 印出陣列

PHP4新增了的其中一個功能便是foreach迴圈,Perl中也有相同的功能

avrilnote 發表在 痞客邦 留言(0) 人氣()

抓取或備份整個網站-HTTrack v3.43.4 () 

【軟體名稱】 抓取或備份整個網站-HTTrack

avrilnote 發表在 痞客邦 留言(1) 人氣()

DIV圖層 Flash 覆蓋解決方式  

ok,這篇單純是因為google下的關鍵字第一篇找不到能夠直接用的,就找自己已經完成可用的方式做個紀錄。

avrilnote 發表在 痞客邦 留言(0) 人氣()

PHP- 使

小心$_SERVER['PHP_SELF]使用漏洞 

avrilnote 發表在 痞客邦 留言(0) 人氣()