চিত্রের আকার পরিবর্তন করুন

জাভা ব্যবহার করে টিআইএফএফ চিত্রের আকার পরিবর্তন করুন

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

ইমেজ API রিসাইজ করুন

Aspose.Imaging Cloud SDK for Java হল আমাদের REST ভিত্তিক সমাধান যা আপনাকে প্রোগ্রাম্যাটিকভাবে সম্পাদনা, ম্যানিপুলেট এবং রাস্টার ইমেজ, মেটাফাইল এবং ফটোশপকে বিভিন্ন [সমর্থিত ফর্ম্যাটে] রূপান্তর করতে সক্ষম করে। এটি টিআইএফএফ চিত্রগুলি পরিচালনা করার বৈশিষ্ট্যও অফার করে, যেখানে আমরা এমনকি পৃথক টিআইএফএফ ফ্রেমে কাজ করতে পারি। এখন, SDK ব্যবহার শুরু করার জন্য, আমাদের একটি জাভা প্রকল্পে এর রেফারেন্স যোগ করতে হবে। সুতরাং, maven বিল্ড টাইপ প্রকল্পের pom.xml-এ নিম্নলিখিত বিবরণ যোগ করুন।

<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>

পরবর্তী ধাপ হল ক্লাউড ড্যাশবোর্ড থেকে ক্লায়েন্টের শংসাপত্রগুলি প্রাপ্ত করা এবং যদি আপনার অ্যাসপোজ ক্লাউড ড্যাশবোর্ড-এর উপর কোনো অ্যাকাউন্ট না থাকে, তাহলে অনুগ্রহ করে বৈধ ইমেল ঠিকানা ব্যবহার করে একটি বিনামূল্যের অ্যাকাউন্ট তৈরি করুন।

জাভাতে অনলাইন ইমেজ রিসাইজ করুন

এই বিভাগে, আমরা আমাদের TIFF পিকচার রিসাইজার ডেভেলপ করতে GetImageFrame API ব্যবহার করতে যাচ্ছি। এছাড়াও আমরা ক্লাউড স্টোরেজে ছবিটি আপলোড করব এবং চিত্রের পরামিতি আপডেট করার পরে, পরিবর্তিত চিত্রটি প্রতিক্রিয়া স্ট্রীমে ফিরে আসবে। দয়া করে মনে রাখবেন যে API আপনাকে ফটোগুলিকে বাল্ক রিসাইজ করতে বা saveOtherFrames প্যারামিটার ব্যবহার করে শুধুমাত্র একটি নির্দিষ্ট TIFF ফ্রেমের আকার পরিবর্তন করতে সক্ষম করে৷

  • প্রথমত, ব্যক্তিগতকৃত ক্লায়েন্ট শংসাপত্র ব্যবহার করে ImagingApi এর একটি বস্তু তৈরি করুন
  • দ্বিতীয়ত, readAllBytes(…) পদ্ধতি ব্যবহার করে প্রথম TIFF ছবির বিষয়বস্তু পড়ুন এবং এটিকে বাইট[] অ্যারেতে ফিরিয়ে দিন।
  • তৃতীয়ত, UploadFileRequest ক্লাসের একটি উদাহরণ তৈরি করুন যেখানে আমরা TIFF ছবির নাম পাস করি
  • এখন আপলোডফাইল(…) পদ্ধতি ব্যবহার করে ক্লাউড স্টোরেজে প্রথম টিআইএফএফ ছবি আপলোড করুন
  • পরবর্তী ধাপটি হল টিআইএফএফ ফ্রেম সূচক, নতুন উচ্চতা এবং প্রস্থের মাত্রা এবং নির্দিষ্ট টিফ ফ্রেম সূচক নির্দিষ্ট করা।
  • এখন GetImageFrameRequest এর একটি অবজেক্ট তৈরি করুন যেখানে আমরা ইনপুট টিআইএফএফ ইমেজ নাম এবং উপরে সংজ্ঞায়িত বৈশিষ্ট্য পাস করি
  • নির্দিষ্ট TIFF ফ্রেম পেতে ImagingAPI ক্লাসের getImageFrame(…) পদ্ধতিতে কল করুন
  • অবশেষে, FileOutputStream অবজেক্ট ব্যবহার করে স্থানীয় ড্রাইভে নিষ্কাশিত ফ্রেম সংরক্ষণ করুন
// https://dashboard.aspose.cloud/ থেকে ClientID এবং ClientSecret পান
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

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

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

Integer frameId = 0; // Frame number inside TIFF
// নিষ্কাশিত ফ্রেমের নতুন প্রস্থ ও উচ্চতা
Integer newWidth = 400;
Integer newHeight = 600;

// শুধুমাত্র নির্দিষ্ট ফ্রেম অন্তর্ভুক্ত করার ফলাফল অন্যান্য ফ্রেম নয়
Boolean saveOtherFrames = false;

// নির্দিষ্ট বিবরণের উপর ভিত্তি করে টিফ ফ্রেম বের করার জন্য একটি অনুরোধ বস্তু তৈরি করুন
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// নিষ্কাশিত ফ্রেম প্রতিক্রিয়া প্রবাহে ফিরে আসে
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// স্থানীয় স্টোরেজে বের করা টিআইএফএফ ফ্রেম সংরক্ষণ করুন
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
টিফ ফ্রেমের আকার পরিবর্তন করুন

টিআইএফএফ ফ্রেম পূর্বরূপের আকার পরিবর্তন করুন

উপরের উদাহরণে ব্যবহৃত নমুনা টিআইএফএফ চিত্রগুলি TiffSampleImage.tiff থেকে ডাউনলোড করা যেতে পারে।

CURL কমান্ড ব্যবহার করে চিত্রের আকার হ্রাস করুন

API এর REST আর্কিটেকচারের কারণে, এটি cURL কমান্ডের মাধ্যমেও অ্যাক্সেস করা যেতে পারে। তাই এই বিভাগে, আমরা cURL কমান্ডগুলি ব্যবহার করে কীভাবে চিত্রের আকার কমাতে বা নির্দিষ্ট মাত্রা সহ টিফ ফ্রেম বের করা যায় সে সম্পর্কে বিস্তারিত আলোচনা করতে যাচ্ছি। এখন, প্রথম ধাপ হল নিম্নলিখিত কমান্ডটি ব্যবহার করে একটি 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 টোকেন জেনারেশনের পর, আমাদের টিআইএফএফ ফ্রেমের আকার পরিবর্তন করতে নিম্নলিখিত কমান্ডটি চালাতে হবে।

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.tiff/frames/0?newWidth=400&newHeight=600&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"
-o ResizedFrame.tiff

উপসংহার

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

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

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

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