• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

[散分]生涯便利小代码,拍照后,批量递归缩放目录图片

php 搞代码 3年前 (2022-01-24) 12次浏览 已收录 0个评论

[散分]生活便利小代码,拍照后,批量递归缩放目录图片.
新入手单反一周了,今天终于找上了机会带上老婆老妈去荔枝公园拍了一天的照,回来准备上传至相册,突然发现,每张图片都有点偏大,找工具也很累,直接上网,东拼西凑了点代码.实现将指定目录的图片,按指定大小范围缩放并输出到指定目录(含递归) ,供自己以后处理相片使用. 不多废话了,附代码.

<br />    header('Content-type:text/html; charset=utf-8');<br />    require "lib/imgHelper.php";<br />    $imgHelper <b>/本文来源gao@!dai!ma.com搞$$代^@码5网@</b><strong>搞代gaodaima码</strong>= new imgHelper( "dir1" );<br />    $imgHelper->setOutputDir( "dir2" );<br />    //默认输出在1024 768 下等比缩放,需要自定义时,$imgHelper->setOutputSize(1440,900);<br />    $imgHelper->execution();<br />

lib 库代码.

<?php
/**
* 图片处理助手
*/
class imgHelper
{
public $srcFiles; //源文件 array
public $srcDirs; //源目录
public $exportDir; //输出目录
public $exportFiles; //输出文件 array
private $_option = array("maxWidth"=>"1024" , "maxHeight"=>"768");

function __construct($dir = '' , $option = array() )
{
if (!$dir) return;
$this->srcDirs = $dir;
$this->srcFiles = $this->traversal($dir);
$this->setOptions( $option );
}

/**
* 设置输出目录
* @param $dir
*/
public function setOutputDir( $dir )
{
if( !is_dir( $dir )) { mkdir($dir , 0777 , 1);}
$this->exportDir = $dir;
}

public function execution()
{
foreach( $this->srcFiles as $key =>$val ):
$srcImg = $val;
$toFile = str_replace( $this->srcDirs , $this->exportDir , $srcImg); //todo 简便处理.
$maxWidth = $this->_option["maxWidth"];
$maxHeight = $this->_option["maxHeight"];
$this->resize($srcImg , $toFile , $maxWidth , $maxHeight );
endforeach;
}

//缩放图片.
private function resize($srcImage,$toFile,$maxWidth = 100,$maxHeight = 100,$imgQuality=100)
{
//创建目录目录!
$pInfo = pathinfo( $toFile );
$dir = $pInfo["dirname"]; if(!is_dir( $dir) ){ mkdir($dir , 0777 , 1);}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[散分]生涯便利小代码,拍照后,批量递归缩放目录图片
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址