源文件,目标文件,目标宽,目标高,是否允许剪裁。 如果目标写入null直接二进制输出。不生成文件。 无 function img2thumb($src_img, $dst_img, $width = 64, $height = 64, $nocut = 0) {/*if(!is_file($src_img)) return false;*/if(!($width*$height)) re
源文件,目标文件,目标宽,目标高,是否允许剪裁。
如果目标写入 null 直接二进制输出。不生成文件。
function img2thumb($src_img, $dst_img, $width = 64, $height = 64, $nocut = 0) { /* if(!is_file($src_img)) return false; */ if(!($width*$height)) return false; $ext = strtolower(substr(strrchr($src_img, '.'),1)); if(!$ext) return false; $otfunc = 'image' . ($ext == 'jpg' ? 'jpeg' : $ext); if(!function_exists($otfunc)) return false; $srcinfo = getimagesize($src_img); if(!$srcinfo) return false; $src_w = $srcinfo[0]; $src_h = $srcinfo[1]; $type = strtolower(substr(image_type_to_extension($srcinfo[2]), 1)); $openfunc = 'imagecreatefrom' . ($type == 'jpg' ? 'jpeg' : $type); if(!function_exists($openfunc)) return false; $createfunc = 'imagecreate'; $buildfunc = 'imagecopyresized'; $x=$y=0; $src_t = $src_w / $src_h; if($src_t > $width / $height) { $dst_w = $width; $dst_h = $width / $src_t; $nocut && $y = ($height - $dst_h)/2; } else { $dst_w = $src_t * $height; $dst_h = $height; $nocut && $x = ($width - $dst_w)/2; } $src = $openfunc($src_img); $dst = $createfunc($nocut ? $width :$dst_w, $nocut ? $height :$dst_h); $white = imagecolorallocate($dst, 255, 255, 255); $buildfunc($dst, $src, $x, $y, 0, 0, $dst_w, $dst_h, $src_w, $src_h); $otfunc($dst, $dst_img); imagedestroy($dst); imagedestroy($src); return true; }
<?php // 更新,增加参数 $watermark, 如果这个文件是可用的,将作为水印加在图片上,$wmpct透明度. function img2thumb($src_img, $dst_img, $width=64, $height=64, $nocut=0, $watermark=null, $wmpct=50) { /* if(!is_file($src_img)) return false; */ if(!($width*$height)) return false; $ext = strtolower(substr(strrchr($src_img, '.'),1)); if(!$ext) return false; $otfunc = 'image' . ($ext == 'jpg' ? 'jpeg' : $ext); if(!function_exists($otfunc)) return false; $srcinfo = getimagesize($src_img); if(!$srcinfo) return false; $src_w = $srcinfo[0]; $src_h = $srcinfo[1]; $type = strtolower(substr(image_type_to_extension($srcinfo[2]), 1)); $openfunc = 'imagecreatefrom' . ($type == 'jpg' ? 'jpeg' : $type); if(!function_exists($openfunc)) return false; $wmfunc = ''; if($watermark) { $wminfo=getimagesize($watermark); if($wminfo) { $wm_w = $wminfo[0]; $wm_h = $wminfo[1]; $wmtype = strtolower(substr(image_type_to_extension($wminfo[2]), 1)); $wmfunc = 'imagecreatefrom' . ($wmtype == 'jpg' ? 'jpeg' : $wmtype); if(function_exists($wmfunc)) { } } } $createfunc = 'imagecreate'; $buildfunc = 'imagecopyresized'; $x=$y=0; $src_t = $src_w / $src_h; if($src_t > $width / $height) { $dst_w = $width; $dst_h = $width / $src_t; $nocut && $y = ($height - $dst_h)/2; } else { $dst_w = $src_t * $height; $dst_h = $height; $nocut && $x = ($width - $dst_w)/2; } if(!$dst_img) { header ( "Content-type: " . image_type_to_mime_type( IMAGETYPE_JPEG )); } $src = $openfunc($src_img); $dst = $createfunc($nocut ? $width :$dst_w, $nocut ? $height :$dst_h); $white = imagecolorallocate($dst, 255, 255, 255); $buildfunc($dst, $src, $x, $y, 0, 0, $dst_w, $dst_h, $src_w, $src_h); imagedestroy($src); // 水印 if($wmfunc && function_exists($wmfunc)) { $wm = $wmfunc($watermark); imagecopymergegray($dst, $wm, $x+$dst_w-$wm_w, $y+$dst_h-$wm_h, 0, 0, $wm_w, $wm_h, $wmpct); imagedestroy($wm); } $otfunc($dst, $dst_img); imagedestroy($dst); return true; }
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
<🎜>:種植花園 - 完整的突變指南
3 週前ByDDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前By尊渡假赌尊渡假赌尊渡假赌
如何修復KB5055612無法在Windows 10中安裝?
3 週前ByDDD
北端:融合系統,解釋
3 週前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver Mac版
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版
中文版,非常好用

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!