کتابخانه روبی منبع باز برای تجزیه فایل PSD فتوشاپ

Ruby API که از تبدیل PSD به بوم، صادرات داده‌های PSD، دسترسی به داده‌های برش‌های PSD و دسترسی به لایه PSD در برنامه‌های Ruby پشتیبانی می‌کند.  

PSD.rb یک کتابخانه Ruby منبع باز سبک وزن و آسان برای استفاده است که توسعه دهندگان نرم افزار را قادر می سازد فایل PSD Adobe Photoshop را تجزیه کنند یا متادیتا و سایر اطلاعات قابل استفاده را با استفاده از کد Ruby استخراج کنند. این کتابخانه به کاربران اجازه می دهد تا داده های سند فتوشاپ را در یک ساختار درختی قابل مدیریت مدیریت کنند. هدف از توسعه PSD.rb ارائه قابلیت‌های بهتر Scraping PSD برای توسعه دهندگانی بود که به طور منظم با فایل‌های PSD Photoshop کار می‌کردند.

این کتابخانه تمامی عملکردهای اصلی مربوط به دسترسی و باز کردن فایل و جستجوی داده های مورد نظر و بازیابی آن را در فرم عملیاتی انجام می دهد. مدیریت کتابخانه PSD.rb بسیار آسان است و توسعه دهندگان را قادر می سازد تا با یک سند فتوشاپ در ساختار درختی قابل مدیریت کار کنند و داده های مهمی مانند اندازه سند، ساختار سند، نام و اندازه پوشه، کدورت پوشه، نمایان بودن پوشه را جستجو کنند. ،  نام قلم، رنگ یا اندازه قلم، داده‌های ماسک برداری، داده‌های تصویر مسطح و موارد دیگر

Previous Next

شروع کار با PSD.rb

روش توصیه شده برای نصب PSD.rb استفاده از RubyGems است. لطفا از دستور زیر برای نصب راحت استفاده کنید.

PSD.rb را از طریق GitHub نصب کنید

$ gem install psd

صادرات داده های PSD با استفاده از Ruby API

کتابخانه منبع باز PSD.rb برنامه نویسان نرم افزار را قادر می سازد تا داده ها را از یک فایل PSD به راحتی با استفاده از دستورات Ruby صادر کنند. در حین کار در ساختار درختی، می‌توانیم هر گره را به صورت بازگشتی به یک شی صادر کنیم که شامل تمام اطلاعات رایج است. همچنین می توان PSD را به یک فایل تصویری مسطح تنها با چند خط کد Ruby صادر کرد. لطفاً به یاد داشته باشید که آن را با فعال کردن حالت سازگاری ذخیره کنید، در غیر این صورت یک تصویر خالی تولید خواهد شد

داده های PSD را از طریق Ruby API صادر کنید

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

با استفاده از Ruby PSD را به Canvas تبدیل کنید

کتابخانه منبع باز PSD.rb عملکرد کاملی را برای تبدیل PSD به بوم در داخل برنامه های Ruby ارائه کرده است. این کتابخانه از تجزیه PSD وارد شده و تبدیل آن به اشیاء بوم پشتیبانی می کند. پس از آن، می توانید لایه های اشیاء PSD را تکرار کنید و به راحتی اشیاء را به بوم اضافه کنید. پس از آن دستور، اشیاء اضافه شده و کار شما تمام است. همچنین می توانید بوم را به PDF، SVG، PNG، PEG و موارد دیگر صادر کنید.

دسترسی به داده های PSD Slices

کتابخانه PSD.rb به توسعه دهندگان نرم افزار این امکان را می دهد که به برش های PSD مستقیماً در داخل برنامه های خود دسترسی داشته باشند. همچنین از دریافت آرایه ای از تمام برش ها در سند تنها با چند خط کد روبی پشتیبانی می کند. همچنین امکان جستجوی برش ها با نام یا شناسه آنها وجود دارد. این کتابخانه همچنین از برش های صادراتی به صورت PNG پشتیبانی می کند.

دسترسی به داده های PSD Slices از طریق Ruby API

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 را با استفاده از دستورات Ruby می دهد. با استفاده از چند خط کد Ruby به راحتی می توانید نام و همچنین ابعاد لایه را بدست آورید. توسعه دهندگان همچنین می توانند به انواع دیگری از اطلاعات ذخیره شده در بلوک های اطلاعات لایه مانند اندازه، رنگ، فونت و غیره دسترسی داشته باشند.

از طریق Ruby 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);"}
 فارسی