您好,登錄后才能下訂單哦!
這篇文章給大家介紹php中怎么實(shí)現(xiàn)一個(gè)圖片縮略圖功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
<?php /*構(gòu)造函數(shù)-生成縮略圖+水印,參數(shù)說(shuō)明: $srcFile-圖片文件名, $dstFile-另存文件名, $markwords-水印文字, $markimage-水印圖片, $dstW-圖片保存寬度, $dstH-圖片保存高度, $rate-圖片保存品質(zhì)*/ makethumb("1.jpg", "aa/b.jpg", "50", "50"); function makethumb($srcFile, $dstFile, $dstW, $dstH, $rate = 100, $markwords = null, $markimage = null) { $data = GetImageSize($srcFile); switch ($data[2]) { case 1: $im = @ImageCreateFromGIF($srcFile); break; case 2: $im = @ImageCreateFromJPEG($srcFile); break; case 3: $im = @ImageCreateFromPNG($srcFile); break; } if (!$im) return False; $srcW = ImageSX($im); $srcH = ImageSY($im); $dstX = 0; $dstY = 0; if ($srcW * $dstH > $srcH * $dstW) { $fdstH = round($srcH * $dstW / $srcW); $dstY = floor(($dstH - $fdstH) / 2); $fdstW = $dstW; } else { $fdstW = round($srcW * $dstH / $srcH); $dstX = floor(($dstW - $fdstW) / 2); $fdstH = $dstH; } $ni = ImageCreateTrueColor($dstW, $dstH); $dstX = ($dstX < 0) ? 0 : $dstX; $dstY = ($dstX < 0) ? 0 : $dstY; $dstX = ($dstX > ($dstW / 2)) ? floor($dstW / 2) : $dstX; $dstY = ($dstY > ($dstH / 2)) ? floor($dstH / s) : $dstY; $white = ImageColorAllocate($ni, 255, 255, 255); $black = ImageColorAllocate($ni, 0, 0, 0); imagefilledrectangle($ni, 0, 0, $dstW, $dstH, $white); // 填充背景色 ImageCopyResized($ni, $im, $dstX, $dstY, 0, 0, $fdstW, $fdstH, $srcW, $srcH); if ($markwords != null) { $markwords = iconv("gb2312", "UTF-8", $markwords); //轉(zhuǎn)換文字編碼 ImageTTFText($ni, 20, 30, 450, 560, $black, "simhei.ttf", $markwords); //寫(xiě)入文字水印 //參數(shù)依次為,文字大小|偏轉(zhuǎn)度|橫坐標(biāo)|縱坐標(biāo)|文字顏色|文字類(lèi)型|文字內(nèi)容 } elseif ($markimage != null) { $wimage_data = GetImageSize($markimage); switch ($wimage_data[2]) { case 1: $wimage = @ImageCreateFromGIF($markimage); break; case 2: $wimage = @ImageCreateFromJPEG($markimage); break; case 3: $wimage = @ImageCreateFromPNG($markimage); break; } imagecopy($ni, $wimage, 500, 560, 0, 0, 88, 31); //寫(xiě)入圖片水印,水印圖片大小默認(rèn)為88*31 imagedestroy($wimage); } ImageJpeg($ni, $dstFile, $rate); ImageJpeg($ni, $srcFile, $rate); imagedestroy($im); imagedestroy($ni); } ?>
關(guān)于php中怎么實(shí)現(xiàn)一個(gè)圖片縮略圖功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。