আমার আকারের পাঁচটি চিত্র রয়েছে: 600x30, 600x30, 600x30, 600x30, 810x30। তাদের নামগুলি যথাক্রমে: 0.png, 1.png, 2.png, 3.png, 4.png।
ইমেজম্যাগিকের সাথে 3210x30 আকারের একটি চিত্র তৈরি করতে আমি কীভাবে তাদের আনুভূমিকভাবে মার্জ করব?
উত্তর:
ইমেজম্যাগিক montage
ইউটিলিটি সহ জাহাজগুলি । মন্টেজ প্রতিটি চিত্র পাশাপাশি পাশাপাশি সংযোজন করবে যাতে প্রতিটি চিত্র ( -geometry
) এবং সাধারণ বিন্যাস ( -tile
) এর মধ্যে ব্যবধান সামঞ্জস্য করতে পারে ।
montage [0-5].png -tile 5x1 -geometry +0+0 out.png
অন্যান্য উদাহরণ মন্টেজ ব্যবহারের পৃষ্ঠায় পাওয়া যাবে
[0-5].png
ছয়টি পৃথক ফাইল "0.png, 1.png, 2.png, 3.png, 4.png, 5.png" উত্পাদিত tile 5x1
হবে , তবে আপনার কেবল দুটি আউটপুট ফাইল রেখে আপনাকে পাঁচটি গ্রহণ করবে। এটি হয় ব্যবহার করা উচিত [0-4].png
বা -tile 6x1
।
ইমেজম্যাগিকের কমান্ড লাইন সরঞ্জামটি ' রূপান্তর ' নামক চিত্রগুলিকে অনুভূমিকভাবে মিশ্রিত করতে বা অন্য উদ্দেশ্যে has আমি এই আদেশটি চেষ্টা করেছি এবং আপনার ক্ষেত্রে পুরোপুরি কাজ করছি:
অনুভূমিকভাবে চিত্রগুলিতে যোগদানের জন্য:
convert +append *.png out.png
চিত্রগুলি উল্লম্বভাবে স্ট্যাক করতে:
convert -append *.png out.png
convert -append %F joined-image.png
। সমস্ত নির্বাচিত চিত্র বর্ণের ক্রমে এক
convert *.png +append out.png
যদি চিত্রগুলির উচ্চতা একই না থাকে
আপনি -resize
বিকল্পটির সাথে তাদের সকলের জন্য উচ্চতা ঠিক করতে পারেন , যেমন 400 পিক্সেলের উচ্চতা ঠিক করতে:
convert +append image_1.png image_2.png -resize x400 new_image_conbined.png
MiniMagick
রেল রত্ন ব্যবহার করে যে কেউ চিত্রগুলি মার্জ করার জন্য অন্তর্নির্মিত সরঞ্জামটি ব্যবহার করতে পারেন:
# Replace this with the path to the images you want to combine
images = [
"image1.jpg",
"image2.jpg"
]
processed_image = MiniMagick::Tool::Montage.new do |image|
image.geometry "x700+0+0"
image.tile "#{images.size}x1"
images.each {|i| image << i}
image << "output.jpg"
end
পুনরায় আকার এবং স্থান নির্ধারণের জন্য বিকল্পগুলির জন্য ডকুমেন্টেশন দেখুন #geometry
। বর্তমান উদাহরণ 700px
চিত্রের দিক অনুপাত বজায় রাখার সময় চিত্রগুলিকে উচ্চতায় পরিণত করবে । +0+0
তাদের মধ্যে কোনও ফাঁক ছাড়াই চিত্রটি রাখবে।