Не удается получить точные границы текстового поля с использованием гема PSD.rb

Я пытаюсь проанализировать PSD-файл, используя гем PSD.rb.

Когда я пытаюсь получить границы текстового поля, он дает минимальную ограничивающую рамку для текста, а не фактические размеры текстового прямоугольника в файле psd.

Подобная проблема была опубликована здесь: https://github.com/layervault/psd.rb/issues/78 Но, нет правильного решения для этого. Итак, кто-нибудь может мне помочь в поиске точного текстового поля Bounds из PSD?

Заранее спасибо!

1 ответ

Решение

Получение информации о высоте и ширине объекта bounds:

bounds = layer.adjustments[:type].data[:text]["bounds"]
layer_tree = layer.to_hash
transform = layer_tree[:text][:transform]

top = transform[:ty] + bounds["Top "][:value]
left = transform[:tx]
width = bounds["Rght"][:value]
height = bounds["Btom"][:value] - bounds["Top "][:value]

Благодарю.

Другие вопросы по тегам