Cara Croping, Resize, 3d effect, Watermarking, Rounded corners Pada Gambar Dengan CodeIgniter

30/09/2015    Reza Indra    1744     Website

Halo apakabar? saya Reza, kali ini saya mau berbagi turorial cara memanipulasi gambar dengan CodeIgniter dimana kita bisa melakukan Croping, Resize, 3d effect, Watermarking, Rounded corners dan lain-lain. Framework CodeIgniter sendiri sebenarnya tidak menyediakan library yang satu ini, walaupun ada class image_manipulation, tapi rasanya sangat terbatas dan tidak praktis.

Untuk itu saya akan memperkenalkan library khusus untuk Framework CodeIgniter bernama image moo, library ini dibuat oleh developer CI bernama Mat (si Mamat), jadi silahkan kalian download dulu file library nya di http://www.matmoo.com/digital-dribble/codeigniter/image_moo/.

Masukan file "image_moo.php" di Application/libraries, kemudian buat Controller File.php dan View "upload.php".



Sebelumnya kalian load dulu ya di Autoload: library ('upload', 'image_moo'), helper ('url', 'form').

Ketik baris program di Controller File:

Class File:



Buat Property image_path dan method __construct di dalamnya:



Buat method upload untuk proses uploadnya:



Di dalamnya method upload sudah terdapat proses upload dan image manipulation (image moo). Untuk manipulation, saya mencoba memberikan efek border pada sisi gambar me-resize mejadi lebih kecil.

Ini untuk View Upload:



Sekarang coba kalian jalankan dan tes:



Lihat kita sudah berhasil memanipulasi gambar itu:



Berikut adalah source code lengkapnya:

 

class File extends CI_Controller {
    
    private $imagepath;
    
    public function __construct()
    {
        parent::__construct();
        $this->imagepath = realpath(APPPATH.'../uploads/');
    }
    
    public function upload()
    {
        if($this->input->post('upload'))
        {
            $config['upload_path'] = $this->imagepath;
            $config['allowed_types'] = 'gif|jpg|png';
            $config['max_size'] = 2000;
            $config['max_width'] = 2000;
            $config['max_height'] = 1500;
            
            $this->upload->initialize($config);
                        
            if($this->upload->do_upload('userfile'))
            {
                $data = $this->upload->data();
                // image moo
                $this->image_moo
                	 ->load(
                         $this->imagepath.
                         DIRECTORY_SEPARATOR.
                         $data['file_name']
                     )
                	 ->resize_crop(100,100)
                	 ->border(5, "#ffffff")
                	 ->border(1, "#000000")
                	 ->save_pa('re', 'za');
            }
        }
        
        $this->load->view('upload');
    }
    
}

No data.

Cara Cepat Pintar Membuat Website, Tanpa Perlu Basic IT

Membuat website perusahaan, portal berita, blog, katalog online, dan e-commerce.

Learn More

Cara Cepat Pintar Membuat Website, Tanpa Perlu Basic IT

Membuat website perusahaan, portal berita, blog, katalog online, dan e-commerce.

Learn More