如何使用Codeigniter创建多个缩略图

I am having a problem when try to create the thumbnails by using a foreach loop. I used the CI's build-in class image_lib to cut the image, but it will only create the thumbnail of the 1st image, for the rest of the images, they never get cut. Here is my code:

    $source[0] = "image/catalog/a.jpg";
    $source[1] = "image/catalog/b.jpg";
    $source[2] = "image/catalog/c.jpg";


    foreach ($source as $image) {
        $config['image_library'] = 'gd2';
        $config['source_image'] = $image;
        $config['create_thumb'] = TRUE;
        $config['maintain_ratio'] = TRUE;
        $config['width'] = 100;
        $config['height'] = 100;

        $file = basename($image);
        $info = pathinfo($file);
        $file_name =  basename($file,'.'.$info['extension']);
        $config['new_image'] = '/Applications/XAMPP/xamppfiles/htdocs/zhiyuan/image/cache/' . basename($file_name) . '-' . $config['width'] . 'x' . $config['height'] . '.png';

        $this->load->library('image_lib', $config);
        $this->image_lib->resize();
    }

The problem is that I tried to load the library several times, but seems like it will only load the first time. In order to cut the second image, I need to reinitialize the config. Here is the code after fix:

$source[0] = "image/catalog/a.jpg";
$source[1] = "image/catalog/b.jpg";
$source[2] = "image/catalog/c.jpg";
$this->load->library('image_lib');

foreach ($source as $image) {
    $config['image_library'] = 'gd2';
    $config['source_image'] = $image;
    $config['create_thumb'] = TRUE;
    $config['maintain_ratio'] = TRUE;
    $config['width'] = 100;
    $config['height'] = 100;

    $file = basename($image);
    $info = pathinfo($file);
    $file_name =  basename($file,'.'.$info['extension']);
    $config['new_image'] = '/Applications/XAMPP/xamppfiles/htdocs/zhiyuan/image/cache/' . basename($file_name) . '-' . $config['width'] . 'x' . $config['height'] . '.png';

    $this->image_lib->initialize($config);
    $this->image_lib->resize();
}