Библиотека 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 и преобразование его в объекты холста. После этого вы можете повторять слои объектов PSD и легко добавлять объекты на холст. После этого порядок, добавленные объекты и все готово. Вы также можете экспортировать холст в PDF, SVG, PNG, PEG и другие форматы.
Доступ к данным срезов PSD
Библиотека PSD.rb дает разработчикам программного обеспечения возможность доступа к фрагментам PSD непосредственно из их собственных приложений. Он также поддерживает получение массива всех фрагментов документа с помощью всего пары строк кода Ruby. Также возможен поиск фрагментов по их имени или по их идентификатору. Библиотека также поддерживает экспорт фрагментов в формате PNG.
Доступ к PSD срезам данных через 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);"}