আপনার সেরা বেটটি সম্ভবত চিত্রম্যাগিক (যা কমান্ড লাইন থেকে চিত্রগুলি ম্যানিপুলেট করার জন্য ক্রস-প্ল্যাটফর্ম প্রোগ্রাম) এবং কিছু কাস্টম স্ক্রিপ্টিং ব্যবহার করা হবে। এটি বলেছিল, আমি নিশ্চিত নই যে এটি আপনার পক্ষে "ন্যূনতম গোলযোগ" সমাধান হবে কিনা
আপনি যদি চিত্রম্যাগিক চেষ্টা করতে আগ্রহী হন তবে আপনি ডাউনলোডের পৃষ্ঠা থেকে বর্তমান সংস্করণগুলি পেতে পারেন , যদিও আপনার পক্ষে উপযুক্ত কিছু খুঁজে পেতে আপনার কিছুটা স্ক্রোল থাকতে পারে। আপনি কোন অপারেটিং সিস্টেমটি ব্যবহার করছেন তা উল্লেখ করেননি, তবে উইন্ডোজ বিশেষতঃ ডিফল্ট Q16-x64
বিল্ডটি সম্ভবত ভাল হওয়া উচিত।
ইমেজম্যাগিক ব্যবহার করা হচ্ছে
ইমেজম্যাগিক ইনস্টল হয়ে গেলে, চিত্রগুলির সংমিশ্রণের জন্য, আপনি convert
ইউটিলিটিটি ব্যবহার করতে পারেন ।
আমরা লেবেল যেমন ইমেজ একটি সেট ধরে নেওয়া যাক আছে image_front.jpg , image_back.jpg এবং image_spine.jpg এবং তারা করছি সব একই উচ্চতা, আমরা ব্যবহার করতে পারে convert
সঙ্গে + + যোগ বিকল্প তাদের একসঙ্গে অনুভূমিকভাবে সেলাই করার
convert image_front.jpg image_spine.jpg image_back.jpg +append image_combined.jpg
এই ক্ষেত্রে, image_combined.jpg হ'ল আমাদের চূড়ান্ত কভার যা ক্রমে প্রদত্ত চিত্রগুলি সমন্বিত।
উইন্ডোজ কনভার্ট
দ্রষ্টব্য যে উইন্ডোজের একটি অন্তর্নির্মিত convert
কমান্ড রয়েছে যা ইমেজম্যাগিকের সাথে কিছুই করার নেই। আপনি যদি উইন্ডোজ ব্যবহার করেন এবং সতর্ক না হন তবে এটি কিছু বিভ্রান্তি বা অন্যান্য ছোটখাটো সমস্যার কারণ হতে পারে।
তথাপি, আপনি করে ImageMagick ব্যবহার করতে চান, যদি convert
উপরের হিসাবে প্রদর্শিত Windows এ ইউটিলিটি, আপনি আপনার করে ImageMagick ইনস্টলেশন ফোল্ডারে (রেজিস্টার করতে হবে প্রাক্তন । C:\path\to\imagemagick
আপনার উইন্ডোজ মধ্যে) Path
এনভায়রনমেন্ট ভেরিয়েবল।
অন্যথায়, convert
প্রতিবার আপনি যখন এটি কল করবেন তখন আপনার সম্পূর্ণ পথ নির্দিষ্ট করতে হবে ( প্রাক্তন C:\path\to\imagemagick\convert.exe
)।
স্বয়ংক্রিয়তা
যেহেতু ইমেজম্যাগিক কমান্ড লাইনের মাধ্যমে কাজ করে, তাই এটি স্ক্রিপ্টিংয়ের মাধ্যমে অটোমেশনে নিজেকে ধার দেয়। যদিও এখানে যাওয়ার বিভিন্ন উপায় রয়েছে, আমি নীচে উইন্ডোজ ব্যাচ ব্যবহার করে একটি সাধারণ উদাহরণ সরবরাহ করেছি।
ধারাবাহিকতার জন্য, আমি convert
আগের থেকে উদাহরণের মতো একটি নামকরণ স্কিম ব্যবহার করব । আমি একই সাথে একই প্রাথমিক ডিরেক্টরিতে উপস্থিত সমস্ত ফাইলকে রূপান্তর করতেও ধরে নিচ্ছি।
একটি উদাহরণ ব্যাচ সমাধান
এই উদাহরণস্বরূপ, প্রথম পদক্ষেপটি "বেস" ফাইলের নামের একটি তালিকা তৈরি করা (যেমন "এক্সটেনশানগুলি" _front.jpg
, _spine.jpg
এবং _back.jpg
ব্যাচের স্ক্রিপ্টে যোগ করা হবে)।
এই তালিকাটি আপনার পছন্দ মতো যেকোনো কিছু বলা যেতে পারে তবে আমি এগুলিকে ফাইলস টেক্সট হিসাবে উল্লেখ করব । কভার চিত্র হয় ধরে নেওয়া যাক যেমন image_01_front.jpg
, image_01_spine.jpg
, image_01_back.jpg
, ইত্যাদি এবং সেখানে ইমেজ চার গ্রুপ আছে, files.txt নিম্নলিখিত বিষয়বস্তু প্রয়োগ করা হবে:
image_01
image_02
image_03
image_04
মনে রাখবেন যে এই তালিকার কোনও সদৃশ হওয়া উচিত না। একইভাবে, কোনও ফাঁকা লাইন থাকা উচিত। এই প্রয়োজনীয়তাগুলি পূরণ হয়েছে বলে ধরে নেওয়া, এই তালিকাটি নীচের উদাহরণস্বরূপ ব্যাচ ফাইলের ইনপুট হিসাবে ব্যবহার করা যেতে পারে:
@echo off
@rem Create some folders to hold our images after processing.
if not exist processed mkdir processed
if not exist combined mkdir combined
@rem We use %%~A below to access the strings returned from our list.
@rem %cd% is a special variable representing the current directory.
@rem For each item in our list...
for /f "usebackq delims=" %%A in ("%cd%\files.txt") do (
@rem Use ImageMagick to combine our images.
@rem We are concatenating strings here (%%~A and e.g. "_front.jpg").
@rem This is the same as writing ex. "image_01_front.jpg".
convert %%~A_front.jpg %%~A_spine.jpg %%~A_back.jpg +append %%~A_combined.jpg
@rem Sort our images to the appropriate local folders after conversion.
move %%~A_front.jpg .\processed
move %%~A_spine.jpg .\processed
move %%~A_back.jpg .\processed
move %%~A_combined.jpg .\combined
)
echo Script completed.
pause
এই স্ক্রিপ্টটি যেমন মার্জ.বাট হিসাবে সংরক্ষণ করা যায় । এই ব্যাচ ফাইলটি ফাইল. txt ( একই ফাইলের তালিকাভুক্ত চিত্রের পাশাপাশি) একই ডিরেক্টরিতে বাস করছে বলে ধরে নিয়ে, মার্জ.বাটকে ডাবল-ক্লিক করা সম্ভব হবে এবং তালিকাতে সমস্ত চিত্র প্রসেস করা যায় (ধরে নিবেন যে কিছুই হয় না) টেরা)।
স্ক্রিপ্ট নোট
প্রদত্ত লিপিটি স্পষ্টতই একটি উদাহরণ। এটি আপনার নির্দিষ্ট পরিস্থিতি / আকাঙ্ক্ষার জন্য কিছু টুইট করার প্রয়োজন হতে পারে।
বর্তমানে, উদাহরণস্বরূপ ব্যাচ ফাইলটি সাব ডিরেক্টরিগুলি পুনরাবৃত্তি করে না।
("%cd%\files.txt")
যেমন প্রতিস্থাপন করা যেতে পারে ("C:\path\to\files.txt")
।
%%~A
এটি অত্যন্ত লক্ষণীয়, কারণ এটি ফাইল . txt তালিকাভুক্ত প্রতিটি স্ট্রিংয়ের ( প্রতিনিয়ত ) প্রতিনিধিত্ব করে ।
convert/+append
অটোমেশনের জন্য সঠিক ফাইলের নামগুলি কম গুরুত্বপূর্ণ ( কমান্ডটি প্রায় কোনও যেকোন স্বেচ্ছাসেবী নাম নিতে পারে), তাদের একটি সামঞ্জস্যপূর্ণ কাঠামো থাকা উচিত। যদি আপনাকে উইন্ডোজটিতে একবারে প্রচুর ফাইলের নাম পরিবর্তন করতে হয় তবে আপনি বাল্ক পুনর্নামকরণের ইউটিলিটিতে আগ্রহী হতে পারেন ।
ব্যাচটি যখন অযোগ্য হয় ততক্ষণ, আমি যে অন্য ভাষাটির পরামর্শ দিতে পারি তা হ'ল পাইথন । এটি ক্রস প্ল্যাটফর্ম এবং এটি ফাইলগুলি মোকাবেলায় আরও কোড নিতে পারে, তবে এটি ব্যাচের চেয়ে আরও অনেক উপায়ে পছন্দনীয়।
ফাইল তালিকা তৈরি করা হচ্ছে
রিয়েল-ওয়ার্ল্ড ফাইল তালিকার চারটি বেসিক আইটেম তৈরি করা কিছুটা বেশি কঠিন হতে পারে। যদিও এটি আপনার উপরের উদাহরণটির জন্য ঠিক dir /b > files.txt
যেমনটি প্রয়োজন তা উত্পাদন করে না, আপনি উইন্ডোতে থাকলে আপনার চিত্র ফাইলগুলির একই ডিরেক্টরিতে খোলা একটি কমান্ড প্রম্পটে কেবল ফাইলের নাম এবং এক্সটেনশনের একটি তালিকা তৈরি করতে পারেন । এটি আপনাকে বেশিরভাগ ক্ষেত্রে কমপক্ষে 50% পথ পাবে।
একইভাবে, নোটপ্যাড ++ (উইন্ডোজ) এর মতো তৃতীয় পক্ষের পাঠ্য সম্পাদকগুলির দরকারী বৈশিষ্ট্য থাকতে পারে। নোটপ্যাড ++ এর ক্ষেত্রে এটি নিয়মিত প্রকাশের পাশাপাশি সাধারণ পাঠ্য প্রতিস্থাপনকে সমর্থন করে। সুতরাং যেমন:
image_01_back.jpg
image_01_front.jpg
image_01_spine.jpg
image_02_back.jpg
image_02_front.jpg
image_02_spine.jpg
image_03_back.jpg
image_03_front.jpg
image_03_spine.jpg
image_04_back.jpg
image_04_front.jpg
image_04_spine.jpg
merge.bat
randomfile.extra
files.txt
মধ্যে:
image_01
image_02
image_03
image_04
নোটপ্যাড ++ এর জন্য আপনি:
ম্যানুয়ালি অপসারণ merge.bat , randomfile.extra এবং files.txt ।
ফাঁকা প্রতিস্থাপনের মাধ্যমে এক্সটেনশানগুলি (.eg ) অপসারণ করতে অনুসন্ধান → প্রতিস্থাপন ... ( Ctrl+ H) ব্যবহার করুন .jpg
, পাশাপাশি, _front
ব্যাচ স্ক্রিপ্টের জন্য বেস নামের একটি সেট দেওয়ার জন্য বলুন:
image_01_back
→image_01
image_01_spine
image_02_back
→image_02
image_02_spine
image_03_back
→image_03
image_03_spine
image_04_back
→image_04
image_04_spine
তারপরে আপনি _ স্পাইনযুক্তSearch Mode: Regular expression
লাইনগুলি সরাতে স্যুইচ করতে পারেন :
উপরের স্ক্রিনশটে, শেষে .+spine$
সমস্ত লাইন নির্বাচন _spine
করে। আপনি নিষ্কাশন পারে সব লাইন ধারণকারী _back
সঙ্গে .+back$
পাশাপাশি, নিম্নলিখিত ভালো কিছু রেখে:
image_01
image_02
image_03
image_04
এই ফাঁকা রেখা তারপর কাটানো যেতে পারে সম্পাদনা → লাইন অপারেশনস → খালি লাইনস সরান , আমাদের চূড়ান্ত তালিকায় রেখে files.txt :
image_01
image_02
image_03
image_04
এটি চারটি লাইনের জন্য অকার্যকর বলে মনে হতে পারে তবে যেহেতু আপনি বলছেন আপনার 900 টিরও বেশি আইটেম রয়েছে তাই এই পদক্ষেপগুলির মধ্যে কিছু প্রকরণ বিবেচনা করার মতো হতে পারে।