Изображение настройки тени в Photoshop
Я хотел бы иметь возможность настроить все свойства тени, как показано на этом снимке экрана Photoshop.
Пожалуйста, дважды проверьте, верны ли мои предположения:
Непрозрачность — это значение A теневого текста.
Угол это всего лишь угол
Расстояние – это расстояние
Радиус размытия по Гауссу? Как это перенесется из процентного значения?
Размер — это размер текста? Интересно, как бы мне сделать значение в пикселях, как показано на изображении
from PIL import Image, ImageDraw, ImageFont
from typing import Optional, Dict, Tuple, Union
class Text:
def __init__(self, image: Image):
self._draw = ImageDraw.Draw(image)
self._image = image
def text(self, position: Tuple[int, int], text: str, font: ImageFont, color: Tuple[int, int, int, int], drop_shadow: Optional[Dict[str, Union[int, Tuple[int, int, int]]]] = None):
if drop_shadow is not None:
self._add_drop_shadow(position, text, font, drop_shadow)
self._draw.text(position, text, font=font, fill=color)
def _add_drop_shadow(self, original_position: Tuple[int, int], text: str, font: ImageFont, drop_shadow: Dict[str, Union[int, Tuple[int, int, int]]]):
# Not sure. How do I gaussian blur just some text and then put it onto the image? This class represents an entire image, where I will put multiple drop shadowed text or normal text
# Also, how do I make everything match the Photoshop image I linked? Like the percent and px and stuff.
pass
if __name__ == "__main__":
args = {
"opacity": 65,
"angle" : 30,
"distance": 15,
"spread": 29,
"size": 15,
"color": (0, 0, 0)
}
img = Image.new("RGB", (1920, 1080), (255, 255, 255))
text = Text(image=img)
font = ImageFont.truetype("./assets/Hiragino.ttf", 200)
text.text((200, 400), "ダミーテキスト", font, (0, 153, 255, 255), args)
img.show()
Кроме того, я пробую печатать на Python, но это кажется очень утомительным. Если в моем коде есть что-то унидиоматическое, пожалуйста, сообщите мне об этом.
Изображение настройки тени в Photoshop Я хотел бы иметь возможность настроить все свойства тени, как показано на этом снимке экрана Photoshop. Пожалуйста, дважды проверьте, верны ли мои предположения: [list] [*]Непрозрачность — это значение A теневого текста. [*]Угол это всего лишь угол [*]Расстояние – это расстояние [*]Радиус размытия по Гауссу? Как это перенесется из процентного значения? [*]Размер — это размер текста? Интересно, как бы мне сделать значение в пикселях, как показано на изображении [/list] [code]from PIL import Image, ImageDraw, ImageFont
def _add_drop_shadow(self, original_position: Tuple[int, int], text: str, font: ImageFont, drop_shadow: Dict[str, Union[int, Tuple[int, int, int]]]): # Not sure. How do I gaussian blur just some text and then put it onto the image? This class represents an entire image, where I will put multiple drop shadowed text or normal text
# Also, how do I make everything match the Photoshop image I linked? Like the percent and px and stuff. pass
text = Text(image=img) font = ImageFont.truetype("./assets/Hiragino.ttf", 200) text.text((200, 400), "ダミーテキスト", font, (0, 153, 255, 255), args)
img.show() [/code] Кроме того, я пробую печатать на Python, но это кажется очень утомительным. Если в моем коде есть что-то унидиоматическое, пожалуйста, сообщите мне об этом.