1

私は、その中に写真があるフォルダー全体を選択し、フォルダー内のすべての写真を変換する必要があるプロジェクトを持っています。大規模な画像調整のためのフォトショップのスクリプトのようなもの。

4

4 に答える 4

2

PHP のscandir()関数を確認する

ディレクトリの結果をループし、各アイテムに対して画像操作を行います。

于 2013-02-15T13:38:03.777 に答える
1

Linux を使用している場合は、ImageMagick の mogrify コマンドを使用して画像を一括編集できます。

例: mogrify -resize 150x150 *.jpg 結果: すべての画像が 150x150 にリサイズされました

PEAR の ImageMagick 機能を扱う PHP クラスもあります。

于 2013-02-22T19:20:19.493 に答える
1

CodeIgniters マニュアルにはいくつかのヘルパー関数がありますが、私自身は使用していません。

個人的には、 PHP が提供するDirectoryIteratorを使用する方が快適です。これをCodeIgniters の画像操作クラスと組み合わせると、画像処理のかなり気の利いた処理を実現できます。

$images = array("jpg", "png", "bmp"); // Just to make sure that we get image files

foreach(new DirectoryIterator("/path/to/images/") as $file)
{
    if( $file->isFile() && in_array($file->getExtension(), $images) )
    {
        $config['image_library'] = 'imagemagick';
        $config['library_path'] = 'usr/bin/local/';
        $config['source_image'] = $file->getPathname();
        $config['new_image'] = $file->getPathname(); //Overwriting the source image
        $config['maintain_ratio'] = TRUE;
        $config['width']     = 75;
        $config['height']   = 50;       
        $this->load->library('image_lib', $config); 
        $this->image_lib->resize();
    }       
}

または、独自に選択した画像処理を行います。

于 2013-02-15T20:17:24.957 に答える
0

複数の画像処理を実行できる機能はないと思います。しかし、 glob() でファイルを選択してから、ループでプロセスを実行できますか?

于 2013-02-15T13:36:38.067 に答える