Image Manipulation এবং Resizing

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter এর ফাইল আপলোড এবং ম্যানেজমেন্ট |

CodeIgniter ফ্রেমওয়ার্কের মাধ্যমে ইমেজ ম্যানিপুলেশন যেমন Resizing, Cropping, Rotating, এবং Watermarking সহজেই করা যায়। এটি করার জন্য CodeIgniter বিল্ট-ইন Image Manipulation Library প্রদান করে।


Image Manipulation লাইব্রেরি লোড করা

লাইব্রেরি ব্যবহারের জন্য আপনাকে এটি লোড করতে হবে।

$this->load->library('image_lib');

Image Resizing (ইমেজের আকার পরিবর্তন)

উদাহরণ: একটি ইমেজ রিসাইজ করা

  1. Controller কোড:

    public function resizeImage()
    {
        // Config সেট করুন
        $config['image_library'] = 'gd2';
        $config['source_image'] = './uploads/sample.jpg'; // মূল ইমেজ
        $config['create_thumb'] = FALSE;
        $config['maintain_ratio'] = TRUE;
        $config['width'] = 200; // নতুন প্রস্থ
        $config['height'] = 200; // নতুন উচ্চতা
    
        // লাইব্রেরি লোড এবং কনফিগারেশন সেট করা
        $this->load->library('image_lib', $config);
    
        // রিসাইজ করার জন্য লাইব্রেরি চালু
        if ($this->image_lib->resize()) {
            echo "Image resized successfully!";
        } else {
            echo $this->image_lib->display_errors();
        }
    }
    
  2. ইমেজ ফাইল অবস্থান: আপনার ইমেজ ফাইলটি ./uploads/sample.jpg ডিরেক্টরিতে থাকতে হবে।

Image Cropping (ইমেজ কাটিং)

উদাহরণ: একটি ইমেজ ক্রপ করা

  1. Controller কোড:

    public function cropImage()
    {
        // Config সেট করুন
        $config['image_library'] = 'gd2';
        $config['source_image'] = './uploads/sample.jpg'; // মূল ইমেজ
        $config['maintain_ratio'] = FALSE;
        $config['x_axis'] = 50; // X-অক্ষ থেকে শুরু
        $config['y_axis'] = 50; // Y-অক্ষ থেকে শুরু
        $config['width'] = 200; // ক্রপ প্রস্থ
        $config['height'] = 200; // ক্রপ উচ্চতা
    
        // লাইব্রেরি লোড এবং কনফিগারেশন সেট করা
        $this->load->library('image_lib', $config);
    
        // ক্রপ করার জন্য লাইব্রেরি চালু
        if ($this->image_lib->crop()) {
            echo "Image cropped successfully!";
        } else {
            echo $this->image_lib->display_errors();
        }
    }
    

Image Rotating (ইমেজ ঘোরানো)

উদাহরণ: একটি ইমেজ ঘোরানো

  1. Controller কোড:

    public function rotateImage()
    {
        // Config সেট করুন
        $config['image_library'] = 'gd2';
        $config['source_image'] = './uploads/sample.jpg'; // মূল ইমেজ
        $config['rotation_angle'] = '90'; // ঘোরানোর কোণ (90, 180, 270)
    
        // লাইব্রেরি লোড এবং কনফিগারেশন সেট করা
        $this->load->library('image_lib', $config);
    
        // রোটেট করার জন্য লাইব্রেরি চালু
        if ($this->image_lib->rotate()) {
            echo "Image rotated successfully!";
        } else {
            echo $this->image_lib->display_errors();
        }
    }
    

Image Watermarking (ওয়াটারমার্ক যোগ করা)

উদাহরণ: একটি ইমেজে টেক্সট ওয়াটারমার্ক যোগ করা

  1. Controller কোড:

    public function watermarkImage()
    {
        // Config সেট করুন
        $config['image_library'] = 'gd2';
        $config['source_image'] = './uploads/sample.jpg'; // মূল ইমেজ
        $config['wm_text'] = 'Sample Watermark'; // টেক্সট ওয়াটারমার্ক
        $config['wm_type'] = 'text';
        $config['wm_font_path'] = './system/fonts/texb.ttf'; // ফন্ট ফাইল
        $config['wm_font_size'] = '16';
        $config['wm_font_color'] = 'ffffff'; // সাদা রঙ
        $config['wm_vrt_alignment'] = 'bottom';
        $config['wm_hor_alignment'] = 'center';
    
        // লাইব্রেরি লোড এবং কনফিগারেশন সেট করা
        $this->load->library('image_lib', $config);
    
        // ওয়াটারমার্ক যোগ করার জন্য লাইব্রেরি চালু
        if ($this->image_lib->watermark()) {
            echo "Watermark added successfully!";
        } else {
            echo $this->image_lib->display_errors();
        }
    }
    

লাইব্রেরি পুনঃআরম্ভ করা

যদি একাধিক ইমেজ প্রসেস করতে হয়, তবে প্রতিবার লাইব্রেরি রিসেট করুন:

$this->image_lib->clear();

Common Errors এবং সমাধান

  1. Error: GD2 বা ImageMagick Library মিসিং
    • নিশ্চিত করুন যে আপনার সার্ভারে GD2 অথবা ImageMagick ইন্সটল রয়েছে।
  2. Error: Invalid File Path
    • source_image এর পাথ সঠিক কিনা নিশ্চিত করুন।
  3. Error: Permission Denied
    • ইমেজ ফোল্ডারের পারমিশন চেক করুন (Linux-এ chmod 777 ব্যবহার করতে পারেন)।

ইমেজ ম্যানিপুলেশন লাইব্রেরি Config অপশনসমূহ

অপশনবিবরণ
image_libraryইমেজ প্রসেসিং লাইব্রেরি (যেমন: gd2, imagemagick)
source_imageমূল ইমেজ ফাইলের পাথ
new_imageপ্রসেসড ইমেজ সংরক্ষণের পাথ
maintain_ratioঅনুপাত বজায় রাখবে কিনা (TRUE/FALSE)
widthইমেজের প্রস্থ
heightইমেজের উচ্চতা
rotation_angleঘোরানোর কোণ (যেমন: 90, 180)
wm_textওয়াটারমার্ক টেক্সট
wm_typeওয়াটারমার্ক টাইপ (টেক্সট বা ইমেজ)

সারাংশ

CodeIgniter-এর Image Manipulation Library ব্যবহার করে আপনি সহজেই ইমেজ রিসাইজ, ক্রপ, রোটেট, এবং ওয়াটারমার্ক যুক্ত করতে পারেন। এটি ইমেজ প্রসেসিং-এর জন্য একটি শক্তিশালী এবং ব্যবহার-বান্ধব সমাধান প্রদান করে।

Content added By
Promotion