JPG ছবিটি মুদ্রণ এবং সম্পাদনার উদ্দেশ্যে একটি জনপ্রিয় বিন্যাস। উপরন্তু, ইন্টারনেটে এবং মোবাইল এবং পিসি ব্যবহারকারীদের মধ্যে ফটো এবং অন্যান্য ছবি শেয়ার করার জন্য এটি একটি জনপ্রিয় ইমেজ ফরম্যাট। JPG ছবির ছোট ফাইল সাইজ ছোট মেমরি স্পেসে হাজার হাজার ছবি সংরক্ষণ করতে দেয়। এখন যেহেতু কম্প্রেশন ক্ষতিকারক, এর মানে হল কিছু অপ্রয়োজনীয় তথ্য স্থায়ীভাবে মুছে ফেলা হয়েছে। অন্য প্রান্তে, JPEG-এর উপর PNG-এর সবচেয়ে বড় সুবিধা হল যে কম্প্রেশনটি ক্ষতিহীন, অর্থাৎ প্রতিবার এটি খোলা এবং আবার সংরক্ষণ করা হলে গুণমানের কোনো ক্ষতি হয় না। PNG বিশদ, উচ্চ-কন্ট্রাস্ট চিত্রগুলিও ভালভাবে পরিচালনা করে। এখন এই নিবন্ধে, আমরা কীভাবে জাভা ক্লাউড এসডিকে ব্যবহার করে জেপিজিকে পিএনজিতে রূপান্তর করতে পারি সে সম্পর্কে বিস্তারিত আলোচনা করতে যাচ্ছি।
- চিত্র রূপান্তর API
- জাভাতে JPG কে PNG তে রূপান্তর করুন
- CURL কমান্ড ব্যবহার করে JPG কে PNG তে পরিবর্তন করুন
চিত্র রূপান্তর API
আমাদের REST ভিত্তিক API বিভিন্ন ধরনের [সমর্থিত ফাইল ফরম্যাটে] ছবি ফাইল তৈরি, সম্পাদনা এবং রূপান্তর করার ক্ষমতা প্রদান করে। এখন জাভা অ্যাপ্লিকেশনে jpg কে png ট্রান্সপারেন্টে লোড এবং রূপান্তর করার বৈশিষ্ট্যটি বাস্তবায়ন করার জন্য, আমাদের Aspose.Imaging Cloud SDK for Java ব্যবহার করতে হবে কারণ এটি ক্লাউড API এর চারপাশে একটি মোড়ক। সুতরাং পরবর্তী ধাপ হল maven বিল্ড টাইপ প্রজেক্টের pom.xml-এ নিম্নলিখিত তথ্যগুলি অন্তর্ভুক্ত করে জাভা প্রকল্পে এর রেফারেন্স যোগ করা।
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
একবার প্রকল্পে JDK রেফারেন্স যোগ করা হয়ে গেলে, পরবর্তী গুরুত্বপূর্ণ ধাপ হল [Aspose Cloud Dashboard]-এ একটি বিনামূল্যে অ্যাকাউন্ট তৈরি করা 4। শুধু একটি বৈধ ইমেল ঠিকানার মাধ্যমে একটি বিনামূল্যে ট্রায়াল জন্য সাইন আপ করুন. এখন নতুন তৈরি অ্যাকাউন্ট ব্যবহার করে লগইন করুন এবং [ক্লাউড ড্যাশবোর্ড] এ ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট দেখুন/তৈরি করুন 5। নিম্নলিখিত বিভাগে প্রমাণীকরণের উদ্দেশ্যে এই বিশদ বিবরণ প্রয়োজন।
জাভাতে JPG কে PNG তে রূপান্তর করুন
এখন আমরা কিভাবে জাভা কোড স্নিপেট ব্যবহার করে JPG কে PNG তে রূপান্তর করতে পারি তার বিস্তারিত আলোচনা করা যাক। রূপান্তর সম্পাদন করার জন্য, একটি চিত্রকে অন্য বিন্যাসে রূপান্তর করার জন্য আমাদের কাছে দুটি API আছে:
GET API আশা করে যে আমরা প্রথমে ক্লাউড স্টোরেজে একটি ছবি আপলোড করব তারপর API URL-এ এর নাম পাস করব। ইমেজ প্যারামিটার আপডেট করার পরে, API প্রতিক্রিয়াতে আপডেট করা ছবি ফেরত দেয়। আপনি যদি ক্লাউড স্টোরেজে আপডেট করা ছবি সংরক্ষণ করতে চান, তাহলে আপনাকে স্পষ্টভাবে এটি করতে হবে নীচের উদাহরণগুলিতে দেখানো হয়েছে৷
অন্যদিকে, দ্বিতীয় POST API কল করার সময়, আপনি সরাসরি অনুরোধের বডিতে ছবিটি পাস করতে পারেন। এটি আপনাকে আউটপাথ প্যারামিটার মান উল্লেখ করে ক্লাউড স্টোরেজে আপডেট করা ছবি সংরক্ষণ করতে দেয়। যাইহোক, যদি আপনি মানটি নির্দিষ্ট না করেন তবে প্রতিক্রিয়াটিতে একটি স্ট্রিম করা চিত্র রয়েছে।
- আপনার ব্যক্তিগতকৃত ক্লায়েন্ট শংসাপত্রের উপর ভিত্তি করে ImagingApi-এর একটি উদাহরণ তৈরি করুন
- ফাইল[] অবজেক্ট ব্যবহার করে স্থানীয় ফোল্ডার তৈরি করা সমস্ত JPG ফাইল পড়ুন
- অ্যারেতে ফাইলগুলির মাধ্যমে পুনরাবৃত্তি করুন এবং বাইট[] উদাহরণে পৃথক চিত্রের সামগ্রীতে পৌঁছান
- এখন CreateConvertedImageRequest এর একটি অবজেক্ট তৈরি করুন যেখানে আমরা PNG হিসাবে আউটপুট ইমেজ ফরম্যাট নির্দিষ্ট করি।
- CreateConvertedImage(…) পদ্ধতিটিকে কল করুন যা JPG কে PNG হিসাবে সংরক্ষণ করে এবং প্রতিক্রিয়া স্ট্রীম হিসাবে ফলাফল প্রদান করে
- অবশেষে FileOutputStream অবজেক্ট ব্যবহার করে স্থানীয় ড্রাইভে PNG ফাইল সংরক্ষণ করুন
// https://dashboard.aspose.cloud/ থেকে ClientID এবং ClientSecret পান
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// ইমেজিং অবজেক্ট তৈরি করুন
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
File directory = new File("/Users/");
//ফোল্ডার থেকে সব ফাইল পান
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}
//এখানে প্রয়োজনীয় ইমেজ এক্সটেনশন সেট করুন.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");
int counter =0;
//JPG ইমেজ ফাইলের ফিল্টার করা তালিকা
List<File> acceptedImages = new ArrayList<>();
// স্থানীয় ফোল্ডার থেকে পড়া প্রতিটি ইমেজ ফাইলের মাধ্যমে পুনরাবৃত্তি করুন
for (File file : allFiles) {
//ফাইল এক্সটেনশন পার্স করুন
String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
//এক্সটেনশনটি সমর্থিত ইমেজ এক্সটেনশনে তালিকাভুক্ত কিনা তা পরীক্ষা করুন
if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
//ফিল্টার করা তালিকায় ছবিটি যোগ করুন
acceptedImages.add(file);
// JPG ছবির বিষয়বস্তু পড়ুন
byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
// পিএনজি হিসাবে ফলস্বরূপ বিন্যাস সহ চিত্র রূপান্তর অনুরোধ তৈরি করুন
CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
// JPG কে PNG তে রূপান্তর করুন এবং রেসপন্স স্ট্রীমে ফলাফল রিটার্ন করুন
byte[] exportedImage = imageApi.createConvertedImage(request);
// রপ্তানি করা ছবি স্থানীয় স্টোরেজে সংরক্ষণ করুন
FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
fos.write(exportedImage);
fos.close();
}
}
CURL কমান্ড ব্যবহার করে JPG কে PNG তে পরিবর্তন করুন
যেহেতু আমরা CURL কমান্ড ব্যবহার করে REST API গুলি অ্যাক্সেস করতে পারি, তাই এই বিভাগে, আমরা JPG কে PNG স্বচ্ছ রূপান্তর করার জন্য বিশদ অনুসন্ধান করছি। এখন একটি পূর্বপ্রস্তুতি হিসাবে, নিম্নলিখিত কমান্ডটি কার্যকর করার সময় আমাদের প্রথমে একটি 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"
এখন আমরা ConvertImage API কল ব্যবহার করতে যাচ্ছি, এটি আশা করে যে ইনপুট JPG ইতিমধ্যেই ক্লাউড স্টোরেজে উপলব্ধ থাকবে। এখন JPG কে PNG তে পরিবর্তন করতে নিচের কমান্ডটি চালান।
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/convert?format=PNG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.png
উপসংহার
এই নিবন্ধটি জাভা কোড স্নিপেট ব্যবহার করে কিভাবে আমরা JPG কে PNG তে রূপান্তর করতে পারি তার কিছু আশ্চর্যজনক বিবরণ প্রদান করেছে। একইভাবে, আমরা cURL কমান্ড ব্যবহার করে JPG কে PNG ট্রান্সপারেন্টে রূপান্তর করার পদক্ষেপগুলি নিয়েও আলোচনা করেছি। অনুগ্রহ করে মনে রাখবেন যে প্রোডাক্ট ডকুমেন্টেশন হল API দ্বারা অফার করা অন্যান্য উত্তেজনাপূর্ণ বৈশিষ্ট্যগুলি সম্পর্কে জানার জন্য একটি আশ্চর্যজনক জায়গা৷ আপনি যদি ব্রাউজারের মধ্যে এই APIগুলি ব্যবহার করে দেখতে চান, অনুগ্রহ করে swagger API রেফারেন্স ব্যবহার করে দেখুন।
শেষ পর্যন্ত, অনুগ্রহ করে মনে রাখবেন যে আমাদের সমস্ত ক্লাউড SDK গুলি MIT লাইসেন্সের অধীনে প্রকাশিত হয়েছে, তাই আপনি GitHub থেকে সম্পূর্ণ সোর্স কোড ডাউনলোড করার কথা বিবেচনা করতে পারেন এবং আপনার প্রয়োজনীয়তা অনুযায়ী এটি পরিবর্তন করতে পারেন। পরিশেষে, API ব্যবহার করার সময় আপনি যদি কোনো সমস্যার সম্মুখীন হন, তাহলে আপনি বিনামূল্যে প্রোডাক্ট সাপোর্ট ফোরাম এর মাধ্যমে দ্রুত সমাধানের জন্য আমাদের কাছে যাওয়ার কথা বিবেচনা করতে পারেন।
সম্পরকিত প্রবন্ধ
সম্পর্কে আরও জানতে অনুগ্রহ করে নিম্নলিখিত লিঙ্কগুলিতে যান: