ফটোশপ পিএসডি ফাইল পার্স করার জন্য ওপেন সোর্স রুবি লাইব্রেরি
Ruby API যা PSD কে ক্যানভাসে রূপান্তর করতে, PSD ডেটা রপ্তানি করতে, PSD স্লাইস ডেটা অ্যাক্সেস করতে এবং রুবি অ্যাপের মধ্যে PSD স্তর অ্যাক্সেস করতে সহায়তা করে।
PSD.rb হল একটি হালকা ওজনের, সহজে ওপেন সোর্স রুবি লাইব্রেরি যা সফটওয়্যার ডেভেলপারদের Adobe Photoshop PSD ফাইল পার্স করতে বা রুবি কোড ব্যবহার করে মেটাডেটা এবং অন্যান্য ব্যবহারযোগ্য তথ্য বের করতে সক্ষম করে। লাইব্রেরি ব্যবহারকারীদের ফটোশপ ডকুমেন্ট ডেটা পরিচালনা করার যোগ্য গাছের কাঠামোতে পরিচালনা করতে দেয়। PSD.rb বিকাশের পিছনে লক্ষ্য ছিল ফটোশপ পিএসডি ফাইলগুলির সাথে নিয়মিত কাজ করা বিকাশকারীদের আরও ভাল PSD স্ক্র্যাপিং ক্ষমতা প্রদান করা।
লাইব্রেরি ফাইলটি অ্যাক্সেস এবং খোলার এবং পছন্দসই ডেটা খোঁজার এবং অপারেশনাল ফর্মে এটি পুনরুদ্ধার সংক্রান্ত সমস্ত প্রধান কার্যকারিতা পরিচালনা করে। PSD.rb লাইব্রেরি পরিচালনা করা খুবই সহজ এবং ডেভেলপারদের একটি ফটোশপ ডকুমেন্টের সাথে একটি পরিচালনাযোগ্য ট্রি স্ট্রাকচারে কাজ করতে এবং ডকুমেন্টের আকার, নথির গঠন, ফোল্ডারের নাম এবং আকার, ফোল্ডারের অস্বচ্ছতা, ফোল্ডার দৃশ্যমানতার মতো গুরুত্বপূর্ণ ডেটা অনুসন্ধান করতে সক্ষম করে। , ফন্টের নাম, ফন্টের রঙ বা আকার, ভেক্টর মাস্ক ডেটা, সমতল চিত্র ডেটা এবং আরও অনেক কিছু
PSD.rb দিয়ে শুরু করা
PSD.rb ইনস্টল করার প্রস্তাবিত উপায় হল RubyGems ব্যবহার করা। একটি মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
GitHub এর মাধ্যমে PSD.rb ইনস্টল করুন
$ gem install psd
রুবি API ব্যবহার করে PSD ডেটা রপ্তানি করা হচ্ছে
ওপেন সোর্স PSD.rb লাইব্রেরি সফটওয়্যার প্রোগ্রামারদের রুবি কমান্ড ব্যবহার করে সহজে PSD ফাইল থেকে ডেটা এক্সপোর্ট করতে সক্ষম করে। ট্রি স্ট্রাকচারে কাজ করার সময়, আমরা যেকোন নোডকে একটি অবজেক্টে রিকার্সিভলি এক্সপোর্ট করতে পারি, যার মধ্যে সব সাধারণ তথ্য থাকে। রুবি কোডের মাত্র কয়েকটি লাইন দিয়ে একটি সমতল চিত্র ফাইলে PSD রপ্তানি করাও সম্ভব। অনুগ্রহ করে এটিকে সামঞ্জস্যপূর্ণ মোড সক্ষম করে সংরক্ষণ করতে মনে রাখবেন, অন্যথায় একটি খালি চিত্র তৈরি করা হবে
রুবি API এর মাধ্যমে PSD ডেটা রপ্তানি করুন
require 'fileutils'
require 'benchmark'
require './lib/psd'
file = ARGV[0] || 'examples/images/example.psd'
psd = PSD.new(file, parse_layer_images: true)
results = Benchmark.measure "Layer image exporting" do
psd.parse!
psd.tree.descendant_layers.each do |layer|
path = layer.path.split('/')[0...-1].join('/')
FileUtils.mkdir_p("output/#{path}")
layer.image.save_as_png "output/#{layer.path}.png"
end
end
puts Benchmark::CAPTION
puts results.to_s
রুবি ব্যবহার করে PSD কে ক্যানভাসে রূপান্তর করুন
ওপেন সোর্স PSD.rb লাইব্রেরি রুবি অ্যাপ্লিকেশনের ভিতরে PSD কে ক্যানভাসে রূপান্তর করার জন্য সম্পূর্ণ কার্যকারিতা প্রদান করেছে। লাইব্রেরি আমদানি করা PSD পার্সিং সমর্থন করে এবং এটিকে ক্যানভাস অবজেক্টে রূপান্তর করে। এর পরে, আপনি পিএসডি অবজেক্টের স্তরগুলি পুনরাবৃত্তি করতে পারেন এবং সহজেই ক্যানভাসে বস্তুগুলি যুক্ত করতে পারেন। যে আদেশের পরে, যোগ করা বস্তু এবং আপনি সম্পন্ন হয়. আপনি PDF, SVG, PNG, PEG, এবং আরও অনেক কিছুতে ক্যানভাস রপ্তানি করতে পারেন।
PSD স্লাইস ডেটা অ্যাক্সেস করুন
PSD.rb লাইব্রেরি সফ্টওয়্যার বিকাশকারীদের তাদের নিজস্ব অ্যাপ্লিকেশনের মধ্যে সরাসরি PSD স্লাইস অ্যাক্সেস করার ক্ষমতা দেয়। এটি রুবি কোডের মাত্র কয়েকটি লাইন সহ নথিতে সমস্ত স্লাইসের একটি অ্যারে পেতে সমর্থন করে। তাদের নাম বা তাদের আইডি দ্বারা স্লাইস অনুসন্ধান করাও সম্ভব। লাইব্রেরি একটি PNG হিসাবে রপ্তানি স্লাইস জন্য সমর্থন প্রদান করে.
রুবি API এর মাধ্যমে PSD স্লাইস ডেটা অ্যাক্সেস করুন
require 'benchmark'
require './lib/psd'
require 'pp'
psd = nil
file = ARGV[0] || 'examples/images/example.psd'
results = Benchmark.measure "PSD parsing" do
psd = PSD.new(file)
psd.parse!
end
if psd.resources[:slices]
psd.resources[:slices].data.to_a.each do |slice|
pp slice
end
end
PSD লেয়ার ডেটা অ্যাক্সেস করুন
ওপেন সোর্স PSD.rb লাইব্রেরি সফ্টওয়্যার পেশাদারদের রুবি কমান্ড ব্যবহার করে PSD লেয়ার ডেটা অ্যাক্সেস করতে সক্ষম করে। আপনি রুবি কোডের কয়েকটি লাইন ব্যবহার করে সহজেই একটি নাম এবং স্তরের মাত্রা পেতে পারেন। ডেভেলপাররা লেয়ার ইনফো ব্লকে সঞ্চিত অন্যান্য বিভিন্ন ধরনের তথ্য যেমন সাইজ, কালার, ফন্ট ইত্যাদি অ্যাক্সেস করতে পারে।
রুবি API এর মাধ্যমে PSD লেয়ার অ্যাক্সেস করুন
//Get Name & Dimensions of a layer
psd.tree.descendant_layers.first.name
psd.tree.descendant_layers.first.width
//Get Other Layer Info
psd.tree.descendant_layers.first.text[:font]
# Returns
{:name=>"HelveticaNeue-Light",
:sizes=>[33.0],
:colors=>[[255, 19, 120, 98]],
:css=>
"font-family: \"HelveticaNeue-Light\", \"AdobeInvisFont\", \"MyriadPro-Regular\";\nfont-size: 33.0pt;\ncolor: rgba(19, 120, 98, 255);"}