У меня есть очень простой вариант использования, когда мне нужно упаковать файл 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, и мне нужна лицензия для него. Спасибо.
У меня есть очень простой вариант использования, когда мне нужно упаковать файл PNG и текстовый слой в файл PSD и сохранить его. Вот и все. Я попробовал psd-tools для этого, и до сих пор он работает в принципе. Сам текстовый слой добавляется в виде изображения (прозрачный фон), поэтому я не могу редактировать текст, открыв его в Krita/Gimp. Вот мой код: [code]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
# 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') [/code] Я посмотрел другие LIBS и обнаружил, что Aspose-psd может выполнять редактируемый текстовый слой, но это платная функция в библиотеке Python, и мне нужна лицензия для него. Спасибо.
У меня есть очень простой вариант использования, когда мне нужно упаковать файл PNG и текстовый слой в файл PSD и сохранить его. Вот и все. Я попробовал psd-tools для этого, и до сих пор он работает в принципе. Сам текстовый слой добавляется в виде...
У меня есть очень простой вариант использования, когда мне нужно упаковать файл PNG и текстовый слой в файл PSD и сохранить его. Вот и все. Я попробовал psd-tools для этого, и до сих пор он работает в принципе. Сам текстовый слой добавляется в виде...
У меня есть очень простой вариант использования, когда мне нужно упаковать файл PNG и текстовый слой в файл PSD и сохранить его. Вот и все. Я попробовал psd-tools для этого, и до сих пор он работает в принципе. Сам текстовый слой добавляется в виде...
Я хотел спросить, можно ли получить свойства (такие как деформация, непрозрачность, деформация) смарт-объекта в psd-файле с помощью psd-tools, чтобы затем применить эту информацию к данному изображению с помощью PIL или OpenCV или что-то еще?...
У меня есть PSD, который уже содержит единый текстовый слой, и я хочу ввести блок текста в этот слой, где разные слова или фразы отображаются в своем собственном цвете (например, некоторые слова синие, другие красные и т. Д.)....