কিভাবে টিফ ইমেজ বের করতে হয়

টিআইএফএফ ফাইলগুলি থেকে ছবিগুলি কীভাবে বের করবেন

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

টিআইএফএফ ইমেজ প্রসেসিং এপিআই

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

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

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

কীভাবে জাভাতে টিআইএফএফ ইমেজ বের করবেন

কিভাবে জাভা কোড স্নিপেট ব্যবহার করে টিফ ফাইল থেকে ছবি বের করতে হয় তার বিস্তারিত অন্বেষণ করা যাক। অনুগ্রহ করে মনে রাখবেন যে API আপনাকে নিষ্কাশিত ফ্রেমের আকার পরিবর্তন করতে, ক্রপ করতে এবং ঘোরাতে দেয়। তাছাড়া, একটি বুলিয়ান প্যারামিটার saveOtherFrames আপনাকে নির্দিষ্ট করতে দেয় যে ফলাফলে অন্য সব ফ্রেম বা শুধুমাত্র একটি নির্দিষ্ট ফ্রেম অন্তর্ভুক্ত করা হবে।

  • প্রথমত, ব্যক্তিগতকৃত ক্লায়েন্ট শংসাপত্রের উপর ভিত্তি করে ImagingApi-এর একটি বস্তু তৈরি করুন
  • দ্বিতীয়ত, readAllBytes(…) পদ্ধতি ব্যবহার করে প্রথম TIFF ছবির বিষয়বস্তু পড়ুন এবং বাইট[] অ্যারেতে পাস করুন
  • তৃতীয়ত, UploadFileRequest ক্লাসের একটি উদাহরণ তৈরি করুন যেখানে আমরা ক্লাউড স্টোরেজের উপরে TIFF এর নাম উল্লেখ করি
  • এখন আপলোডফাইল(…) পদ্ধতি ব্যবহার করে ক্লাউড স্টোরেজে প্রথম টিআইএফএফ ছবি আপলোড করুন
  • পরবর্তী পদক্ষেপটি হল TIFF ফ্রেম সূচক, নিষ্কাশন করা ফ্রেমের উচ্চতা এবং প্রস্থ, নিষ্কাশনের উত্স এবং নির্দিষ্ট করে দেওয়া ফ্রেমটি নির্দিষ্ট অ্যাঞ্জেলে আপনি চান কিনা তা উল্লেখ করুন।
  • এখন GetImageFrameRequest এর একটি অবজেক্ট তৈরি করুন যেখানে আমরা ইনপুট TIFF ইমেজ এবং উপরে সংজ্ঞায়িত বৈশিষ্ট্যগুলি নির্দিষ্ট করি
  • 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("DeskewSampleImage.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 = 1000;
Integer newHeight = 1400;

// ফ্রেম নিষ্কাশন শুরু করার মূল
Integer x = 10;
Integer y = 10;

// ফ্রেম বের করার জন্য আয়তক্ষেত্রাকার অঞ্চল
Integer rectWidth = 900;
Integer rectHeight = 800;

// নিষ্কাশিত TIFF ফ্রেমের জন্য ঘূর্ণন কোণ নির্দিষ্ট করুন
String rotateFlipMethod = "Rotate90FlipY";
// শুধুমাত্র নির্দিষ্ট ফ্রেম অন্তর্ভুক্ত করার ফলাফল অন্যান্য ফ্রেম নয়
Boolean saveOtherFrames = false;

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

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

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

TIFF ফ্রেম প্রিভিউ পান

উপরের উদাহরণে ব্যবহৃত নমুনা TIFF চিত্রগুলি DeskewSampleImage.tif থেকে ডাউনলোড করা যেতে পারে।

CURL কমান্ড ব্যবহার করে TIFF চিত্র প্রক্রিয়াকরণ

REST API অ্যাক্সেস করার আরেকটি সুবিধাজনক উপায় হল cURL কমান্ডের মাধ্যমে। যেহেতু Aspose.Imaging Cloud REST আর্কিটেকচারের উপর ভিত্তি করে, তাই আমরা 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"

জেডব্লিউটি টোকেন জেনারেশনের পর, টিআইএফএফ ইমেজ ফ্রেম বের করতে আমাদের নিম্নলিখিত কমান্ডটি চালাতে হবে।

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/first.tiff/frames/0?newWidth=1000&newHeight=1200&x=10&y=10&rectWidth=800&rectHeight=800&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o ExtractedFrame.tiff

উপসংহার

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

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

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

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