jpg থেকে webp

জাভাতে jpg কে ওয়েবপিতে রূপান্তর করুন

এই নির্দেশিকায়, আমরা আপনাকে JPG, PNG, JPEG, এবং GIF ইমেজ ফরম্যাটগুলিকে WebP-এ রূপান্তর করতে কীভাবে জাভা ব্যবহার করতে হয় তা দেখাব। প্রক্রিয়াটি সহজ এবং সহজবোধ্য, এবং সহজেই আপনার বিদ্যমান জাভা অ্যাপ্লিকেশনে একত্রিত করা যেতে পারে। আপনি একটি একক চিত্র বা ব্যাচ প্রক্রিয়া একাধিক ছবি রূপান্তর করতে চান না কেন, আমাদের নির্দেশিকা JPG থেকে WebP, PNG থেকে WebP, JPEG থেকে WebP, এবং GIF থেকে WebP-এ রূপান্তর করা সহজ করে তোলে।

আমরা জানি যে JPEG চিত্রগুলি অত্যন্ত সংকুচিত, বেশ বহনযোগ্য এবং প্রায় সমস্ত ডিভাইসের সাথে সামঞ্জস্যপূর্ণ। এছাড়াও, উচ্চ-রেজোলিউশনের JPEG চিত্রগুলি প্রাণবন্ত এবং রঙিন। একইভাবে, পিএনজি-তে কম্প্রেশন ক্ষতিহীন এবং বিশদ, উচ্চ-কন্ট্রাস্ট চিত্রগুলির জন্য এটি ভাল। যাইহোক, ওয়েবপি ফর্ম্যাটটি Google দ্বারা তৈরি করা হয়েছে এবং এটি একটি জনপ্রিয় আধুনিক চিত্র বিন্যাস যা ওয়েবে চিত্রগুলির জন্য উচ্চতর ক্ষতিহীন এবং ক্ষতিকর কম্প্রেশন প্রদান করে। এটি সাধারণত JPG, PNG ইত্যাদির তুলনায় অনেক ছোট (25%-34%) এবং তাই ওয়েবসাইটগুলি দ্রুত লোড হয়। এখন কিভাবে জাভাতে JPG কে WebP-এ রূপান্তর করা যায় তার বিস্তারিত অন্বেষণ করা যাক।

JPG থেকে WebP REST API

Aspose.Imaging Cloud SDK for Java হল আমাদের সেরা সমাধানগুলির মধ্যে একটি যা নির্ভরযোগ্য ছবি প্রক্রিয়াকরণ এবং ছবি রূপান্তর ক্ষমতা প্রদান করে৷ সহজ কোড লাইন ব্যবহার করে আপনার জাভা অ্যাপ্লিকেশনে ইমেজ প্রসেসিং ক্ষমতা (সম্পাদনা এবং রূপান্তর) প্রদান করুন। এপিআই রাস্টার ইমেজ, ফটোশপ ফাইল, মেটাফাইলস এবং ওয়েবপি ফরম্যাট প্রসেস করতে সক্ষম। এখন এই নিবন্ধের সুযোগ অনুযায়ী, আমরা জাভা অ্যাপ্লিকেশনে jpg-কে webp-এ রূপান্তর করতে এটি ব্যবহার করতে যাচ্ছি। এখন প্রথম ধাপ হল pom.xml (maven বিল্ড টাইপ প্রজেক্ট) এ নিম্নলিখিত তথ্য অন্তর্ভুক্ত করে আমাদের জাভা প্রকল্পে API রেফারেন্স যোগ করা।

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

একবার জাভা প্রকল্পে REST API রেফারেন্স যোগ করা হয়ে গেলে, অনুগ্রহ করে [ক্লাউড ড্যাশবোর্ড] থেকে আপনার ক্লায়েন্ট শংসাপত্রগুলি পান 5৷ অন্যথায়, একটি বৈধ ইমেল ঠিকানা ব্যবহার করার সময় আপনাকে প্রথমে একটি বিনামূল্যে অ্যাকাউন্ট নিবন্ধন করতে হবে৷

জাভাতে JPG কে WebP-এ রূপান্তর করুন

এই বিভাগে, আমরা জাভা কোড স্নিপেট ব্যবহার করে JPG থেকে WebP রূপান্তর সম্পর্কিত সমস্ত বিবরণ আলোচনা করতে যাচ্ছি।

  • প্রথমত, ব্যক্তিগতকৃত শংসাপত্র ব্যবহার করে ImagingApi-এর একটি বস্তু তৈরি করুন
  • দ্বিতীয়ত, readAllBytes(…) পদ্ধতি ব্যবহার করে JPG ইমেজ লোড করুন এবং বাইট[] অ্যারেতে রিটার্ন করা মান পাস করুন
  • তৃতীয়ত, আর্গুমেন্ট হিসাবে JPEG ইমেজ প্রদান করে UploadFileRequest এর একটি উদাহরণ তৈরি করুন এবং uploadFile(…) পদ্ধতি ব্যবহার করে ক্লাউড স্টোরেজে আপলোড করুন
  • এখন ConvertImageRequest এর একটি অবজেক্ট তৈরি করুন যা JPEG ছবির নাম এবং ‘webp’ ফরম্যাটকে আর্গুমেন্ট হিসেবে নেয়
  • JPG থেকে WebP রূপান্তর সম্পাদন করতে রূপান্তর চিত্র(…) পদ্ধতিতে কল করুন। আউটপুট তারপর প্রতিক্রিয়া স্ট্রীম হিসাবে ফিরে আসে
  • অবশেষে, FileOutputStream অবজেক্ট ব্যবহার করে ফলস্বরূপ WebP স্থানীয় ড্রাইভে সংরক্ষণ করুন
// https://dashboard.aspose.cloud/ থেকে ClientID এবং ClientSecret পান
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";

// ইমেজিং অবজেক্ট তৈরি করুন
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// স্থানীয় ড্রাইভ থেকে ইনপুট JPEG ইমেজ লোড করুন
File file1 = new File("butterfly-yellow.jpeg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// ফাইল আপলোড অনুরোধ অবজেক্ট তৈরি করুন
UploadFileRequest uploadRequest = new UploadFileRequest("input.jpg",imageStream,null);
// ক্লাউড স্টোরেজে jpg ইমেজ আপলোড করুন
imageApi.uploadFile(uploadRequest);

// WebP হিসাবে আউটপুট বিন্যাস নির্দিষ্ট করুন
String format = "webp";

// ছবি রূপান্তর অনুরোধ বস্তু তৈরি করুন
ConvertImageRequest convertImage = new ConvertImageRequest("input.jpg", format, null, null);
// JPG কে WebP-এ রূপান্তর করুন এবং প্রতিক্রিয়া প্রবাহে আউটপুট ফেরত দিন
byte[] resultantImage = imageApi.convertImage(convertImage);

// ফলস্বরূপ WebP স্থানীয় ড্রাইভে সংরক্ষণ করুন
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
jpg থেকে webp

চিত্র:- JPG থেকে WebP রূপান্তর পূর্বরূপ

জাভাতে ওয়েবপি থেকে পিএনজি

আসুন আমরা ক্লাউড স্টোরেজ ব্যবহার না করে কীভাবে PNG থেকে WebP রূপান্তর সম্পাদন করতে পারি সে সম্পর্কে বিস্তারিত আলোচনা করা যাক। উৎস ইমেজ স্থানীয় ড্রাইভ থেকে লোড করা হয় এবং রূপান্তর পরে, ফলাফল ফাইল স্থানীয় হার্ড ড্রাইভে সংরক্ষণ করা হয়.

  • প্রথমে, ব্যক্তিগতকৃত শংসাপত্র ব্যবহার করে ImagingApi-এর একটি বস্তু তৈরি করুন
  • দ্বিতীয়ত, readAllBytes(…) পদ্ধতি ব্যবহার করে PNG ছবি লোড করুন এবং বাইট[] অ্যারেতে পাস করুন
  • তৃতীয়ত, CreateConvertedImageRequest এর একটি অবজেক্ট তৈরি করুন যা পিএনজি ইমেজ নাম এবং ওয়েবপি ফরম্যাটকে আর্গুমেন্ট হিসেবে নেয়।
  • এখন PNG থেকে WebP রূপান্তর করার জন্য createConvertedImage(…) পদ্ধতিটিকে কল করুন। আউটপুট প্রতিক্রিয়া স্ট্রীম হিসাবে ফেরত দেওয়া হয়
  • অবশেষে, FileOutputStream অবজেক্ট ব্যবহার করে ফলস্বরূপ WenP স্থানীয় ড্রাইভে সংরক্ষণ করুন
// https://dashboard.aspose.cloud/ থেকে ClientID এবং ClientSecret পান
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";

// ইমেজিং অবজেক্ট তৈরি করুন
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// স্থানীয় ড্রাইভ থেকে PNG ইমেজ লোড করুন
File file1 = new File("source.png");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// WebP হিসাবে আউটপুট বিন্যাস নির্দিষ্ট করুন
String format = "webp";

// ছবি রূপান্তর অনুরোধ বস্তু তৈরি করুন
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// PNG কে WebP-এ রূপান্তর করুন এবং প্রতিক্রিয়া প্রবাহে আউটপুট ফেরত দিন
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);

// ফলস্বরূপ WebP স্থানীয় ড্রাইভে সংরক্ষণ করুন
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();

দ্রষ্টব্য:- ক্লাউড স্টোরেজে ফলস্বরূপ WebP সংরক্ষণ করার জন্য, CreateConvertedImageRequest-এর একটি অবজেক্ট তৈরি করার সময় WebP পাথের বিবরণ পাস করুন। এই পদ্ধতিতে, স্থানীয় ড্রাইভে আউটপুট স্ট্রীম সঞ্চয় করার শেষ ধাপটি বাদ দেওয়া হবে।

CURL কমান্ড ব্যবহার করে WebP থেকে GIF

জাভা কোড ব্যতীত, CURL কমান্ডের মাধ্যমেও REST API অ্যাক্সেস করা যেতে পারে। তাই এই বিভাগে, আমরা cURL কমান্ড ব্যবহার করে GIF থেকে WebP রূপান্তর করতে যাচ্ছি। এখন পূর্ব-প্রয়োজনীয় হল নিম্নলিখিত কমান্ড ব্যবহার করে একটি JWT অ্যাক্সেস টোকেন (ক্লায়েন্ট শংসাপত্রের উপর ভিত্তি করে) তৈরি করা।

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT তৈরি হয়ে গেলে, GIF থেকে WebP রূপান্তর করতে এবং স্থানীয় ড্রাইভে আউটপুট সংরক্ষণ করতে দয়া করে নিম্নলিখিত কমান্ডটি চালান

curl -X -v GET "https://api.aspose.cloud/v3.0/imaging/UpdateGIFSampleImage.gif/convert?format=webp" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT>" \
-o "output.webp"

উপসংহার

নিবন্ধটি জাভা ব্যবহার করে JPG-কে WebP, PNG-কে WebP এবং GIF-কে WebP-এ রূপান্তর করার সমস্ত প্রয়োজনীয় বিবরণ প্রদান করেছে। একই সময়ে, আমরা cURL কমান্ড ব্যবহার করে GIF কে WebP-এ রূপান্তর করার ধাপগুলিও শিখেছি। অনুগ্রহ করে সচেতন থাকুন যে আমরা আপনাকে প্রোডাক্ট ডকুমেন্টেশন অন্বেষণ করতে উৎসাহিত করি যা তথ্যের একটি আশ্চর্যজনক উৎস। এটি আপনাকে অন্যান্য উত্তেজনাপূর্ণ বৈশিষ্ট্য সম্পর্কে আলোকিত করবে যা বর্তমানে REST API দ্বারা অফার করা হচ্ছে।

উপরন্তু, আপনি SwaggerUI (একটি ওয়েব ব্রাউজারের মধ্যে) এর মাধ্যমে API বৈশিষ্ট্যগুলি পরীক্ষা করার কথাও বিবেচনা করতে পারেন এবং যদি আপনার সোর্স কোডটি ডাউনলোড এবং সংশোধন করতে হয় তবে এটি GitHub থেকে অ্যাক্সেস করা যেতে পারে (এটি প্রকাশিত এমআইটি লাইসেন্সের অধীনে)। পরিশেষে, API ব্যবহার করার সময় আপনি যদি কোনো সমস্যার সম্মুখীন হন, তাহলে বিনামূল্যে প্রোডাক্ট সাপোর্ট ফোরাম এর মাধ্যমে দ্রুত সমাধানের জন্য আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না।

সম্পরকিত প্রবন্ধ

সম্পর্কে আরও জানতে অনুগ্রহ করে নিম্নলিখিত লিঙ্কগুলিতে যান: