কম্পিউটার টিউটোরিয়াল

Picasso লাইব্রেরি ব্যবহার করে অ্যান্ড্রয়েডে ইমেজ রিসাইজ করা

Picasso দিয়ে ইমেজ লোডিং ও রিসাইজিং: সহজ ও দ্রুত

Picasso (Square Inc.) একটি পপুলার ইমেজ লোডিং লাইব্রেরি যা অটোমেটিক ক্যাশিং, রিসাইজিং, প্লেসহোল্ডার, এরর হ্যান্ডলিং সরবরাহ করে।

পদক্ষেপ ১: প্রজেক্ট তৈরি করুন

Android Studio-তে নতুন প্রজেক্ট শুরু করুন।

পদক্ষেপ ২: build.gradle (Module: app) - ডিপেন্ডেন্সি যোগ

dependencies {
    implementation 'com.squareup.picasso:picasso:2.71828' // লেটেস্ট ভার্সন
}

পদক্ষেপ ৩: লেআউট XML (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="8dp"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:contentDescription="Resized image" />

</LinearLayout>

পদক্ষেপ ৪: MainActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;

public class MainActivity extends AppCompatActivity {
    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        imageView = findViewById(R.id.imageView);
        
        String imageUrl = "https://images.pexels.com/photos/414612/pexels-photo-414612.jpeg";

        // বেসিক রিসাইজ
        Picasso.get()
            .load(imageUrl)
            .resize(200, 500)           //_WIDTH, HEIGHT (পিক্সেল)
            .centerCrop()               // অ্যাসপেক্ট রেশিও রক্ষা করে ক্রপ
            .placeholder(R.drawable.placeholder) // লোডিং সময়
            .error(R.drawable.error_image)       // এরর সময়
            .into(imageView);
    }
}

পদক্ষেপ ৫: Manifest - ইন্টারনেট পারমিশন

<uses-permission android:name="android.permission.INTERNET" />

Picasso রিসাইজিং অপশনসমূহ

মেথডবর্ণনা
resize(w, h)নির্দিষ্ট ডাইমেনশনে রিসাইজ (অ্যাসপেক্ট রেশিও বদলতে পারে)
resizeDimen(resIdW, resIdH)ডাইমেনশন রিসোর্স থেকে রিসাইজ
centerCrop()সেন্টার থেকে ক্রপ করে ভিউ পূরণ (সাধারণত ব্যবহৃত)
centerInside()অ্যাসপেক্ট রেশিও রক্ষা করে ভিউর ভিতরে ফিট
fit()View-র মাপ অনুযায়ী অটো রিসাইজ (layout পাসের পর)
onlyScaleDown()শুধু ছোট করবে, বড় করবে না

উন্নত ব্যবহার


Picasso vs Glide vs Coil

  • Picasso: সিম্পল API, ভালো ডকুমেন্টেশন, কম ফিচার
  • Glide: GIF সাপোর্ট, আরও ফাস্ট, মডুলার, ফ্র্যাগমেন্ট লাইফসাইকেল ইন্টিগ্রেশন
  • Coil (Kotlin): কোটলিন-ফার্স্ট, কоруতিন-ভিত্তিক, লাইটওয়েট, আধুনিক

সুপারিশ: নতুন প্রজেক্টে Coil বা Glide ব্যবহার করুন। Picasso মেইনটেইনেন্স মোডে।

  1. Android-এ ImageView-এ ছবি ঘুরিয়ে দেওয়ার পদ্ধতি

  2. অ্যান্ড্রয়েডে ছবি সুস্পষ্টভাবে ঘুরানো (Smooth Image Rotation)

  3. Android-এ Picasso লাইব্রেরি ব্যবহার করে ইমেজ ডাউনলোড এবং প্রদর্শন

  4. Android-এ ImageView-এ ছবি স্কেল করুন যাতে অনুপাত (Aspect Ratio) বজায় থাকে