Бібліотека Ruby з відкритим вихідним кодом для аналізу PSD-файлу Photoshop
API Ruby, який підтримує перетворення PSD на полотно, експорт даних PSD, доступ до даних фрагментів PSD і доступ до шару PSD у програмах Ruby.
PSD.rb — це легка, проста у використанні бібліотека Ruby з відкритим вихідним кодом, яка дозволяє розробникам програмного забезпечення аналізувати PSD-файл Adobe Photoshop або витягувати метадані та іншу корисну інформацію за допомогою коду Ruby. Бібліотека дозволяє користувачам обробляти дані документа Photoshop у керованій структурі дерева. Метою розробки PSD.rb було надання кращих можливостей копіювання PSD для розробників, які регулярно працюють із файлами Photoshop PSD.
Бібліотека обробляє всі основні функції, пов’язані з доступом і відкриттям файлу, пошуком потрібних даних і отриманням їх у робочій формі. Бібліотека PSD.rb дуже проста у використанні, вона дає змогу розробникам працювати з документом Photoshop у керованій структурі дерева та шукати такі важливі дані, як розмір документа, структура документа, назва та розмір папки, непрозорість папки, видимість папки. , назва шрифту, колір або розмір шрифту, дані векторної маски, дані зведеного зображення та багато іншого
Початок роботи з 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
Перетворіть PSD на Canvas за допомогою Ruby
Бібліотека PSD.rb з відкритим кодом надає повну функціональність для перетворення PSD на полотно в програмах Ruby. Бібліотека підтримує розбір імпортованого PSD і перетворює його на об’єкти canvas. Після цього ви можете повторювати шари об’єктів PSD і з легкістю додавати об’єкти на полотно. Після цього порядку додані об’єкти готові. Ви також можете експортувати полотно у PDF, SVG, PNG, PEG тощо.
Доступ до даних фрагментів PSD
Бібліотека PSD.rb дає розробникам програмного забезпечення можливість отримувати доступ до фрагментів PSD безпосередньо у своїх власних програмах. Він також підтримує отримання масиву всіх фрагментів у документі лише за допомогою кількох рядків коду Ruby. Також можна шукати фрагменти за їх назвою або ідентифікатором. Бібліотека також підтримує експорт фрагментів у форматі 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. Розробники також можуть отримати доступ до різних типів інформації, що зберігається в інформаційних блоках шару, наприклад розміру, кольору, шрифтів тощо.
Доступ PSD Шар за Ruby API
//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);"}