Как добавить редактируемый текстовый слой в файл Photoshop PSD с помощью PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как добавить редактируемый текстовый слой в файл Photoshop PSD с помощью Python

Сообщение Anonymous »

У меня есть очень простой вариант использования, когда мне нужно упаковать файл PNG и текстовый слой в файл PSD и сохранить его. Вот и все. Я попробовал psd-tools для этого, и до сих пор он работает в принципе. Сам текстовый слой добавляется в виде изображения (прозрачный фон), поэтому я не могу редактировать текст, открыв его в Krita/Gimp.
Вот мой код:

Код: Выделить всё

from PIL import Image, ImageDraw, ImageFont
from psd_tools.api.psd_image import PSDImage
from psd_tools.api.layers import PixelLayer
from psd_tools.constants import Compression

# Load PNG image
png_image = Image.open('fire.png').convert('RGBA')

# Create an empty PSD
psd = PSDImage.new(mode='RGBA', size=png_image.size)

# Create image layer from PNG
image_layer = PixelLayer.frompil(
pil_im=png_image,
psd_file=psd,
layer_name='Image Layer',
compression=Compression.RLE
)
psd.append(image_layer)

# Create a text image with Pillow
text = "Random Text Example"
font_size = 40

try:
font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", font_size)
except IOError:
font = ImageFont.load_default()

# Create a blank transparent image for the text
text_image = Image.new("RGBA", png_image.size, (0, 0, 0, 0))
draw = ImageDraw.Draw(text_image)
draw.text((50, 50), text, font=font, fill=(255, 0, 0, 255))  # Red text

# Create text layer from image
text_layer = PixelLayer.frompil(
pil_im=text_image,
psd_file=psd,
layer_name='Text Layer',
compression=Compression.RLE
)
psd.append(text_layer)

# Save PSD
psd.save('output_with_text.psd')
Я посмотрел другие LIBS и обнаружил, что Aspose-psd может выполнять редактируемый текстовый слой, но это платная функция в библиотеке Python, и мне нужна лицензия для него. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»