[分散] 写真を撮った後、ディレクトリ画像をバッチで再帰的に拡大縮小するための小さなコード。

WBOY
リリース: 2016-06-13 12:44:55
オリジナル
791 人が閲覧しました

[Sanfen] 生活に便利な小さなコードです。写真を撮った後、ディレクトリの写真をバッチで再帰的にズームします。
新しい一眼レフカメラを購入してから 1 週間が経ちました。今日、ようやく妻と母を連れて行くことができました。ライチパークに行って一日写真を撮り、戻ってきたらアップロードする準備ができていますが、フォトアルバムにアクセスすると、すべての写真が少し大きすぎることに気づきました。ツールを見つけるのが非常に面倒でした。それで私はオンラインにアクセスしていくつかのコードをつなぎ合わせました。指定されたサイズ範囲に従って、指定されたディレクトリ内の画像をスケーリングし、後で写真を処理する際に使用するために指定されたディレクトリに出力します。
というコードが添付されています。

<br />
    header('Content-type:text/html; charset=utf-8');<br />
    require "lib/imgHelper.php";<br />
    $imgHelper = new imgHelper( "dir1" );<br />
    $imgHelper->setOutputDir( "dir2" );<br />
    //默认输出在1024 768 下等比缩放,需要自定义时,$imgHelper->setOutputSize(1440,900);<br />
    $imgHelper->execution();<br />
ログイン後にコピー

lib ライブラリ コード。

<br>
<?php<br>
/**<br>
* 画像処理アシスタント<br>
​*/<br>
クラス imgHelper<br>
{<br>
パブリック $srcFiles // ソース ファイルの配列<br>
パブリック $srcDirs; // ソース ディレクトリ <br>
Public $exportDir; //出力ディレクトリ <br>
Public $exportFiles // 出力ファイル配列<br>
private $_option = array("maxWidth"=>"1024" , "maxHeight"=>"768");<br>
<br>
関数 __construct($dir = '' , $option = array() )<br>
{<br>
if (!$dir) return;<br>
$this->srcDirs = $dir;<br>
$this->srcFiles = $this->traversal($dir);<br>
$this->setOptions( $option);<br>
}<br>
<br>
/**<br>
*出力ディレクトリを設定します<br>
* @param $dir<br>
​​*/<br>
パブリック関数 setOutputDir( $dir )<br>
{<br>
If (! Is_dir ($ dir)) {mkdir ($ dir, 0777, 1);} <br>
$this->exportDir = $dir;<br>
}<br>
<br>
パブリック関数の実行()<br>
{<br>
foreach( $this->srcFiles as $key =>$val ):<br>
$srcImg = $val;<br>
$toFile = str_replace( $this->srcDirs, $this->exportDir, $srcImg); //簡単な処理を行います。<br>
$maxWidth = $this->_option["maxWidth"];<br>
$maxHeight = $this->_option["maxHeight"];<br>
$this->resize($srcImg, $toFile, $maxWidth, $maxHeight);<br>
エンドフォーリーチ;<br>
}<br>
<br>
//画像をズームします。 <br>
プライベート関数resize($srcImage,$toFile,$maxWidth = 100,$maxHeight = 100,$imgQuality=100)<br>
{<br>
// ディレクトリを作成します!<br>
$pInfo = pathinfo( $toFile );<br>
$dir = $pInfo["dirname"]; if(!is_dir( $dir) ){ mkdir($dir, 0777, 1);} <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート