Какой язык сценариев вы бы использовали, чтобы поместить текст поверх созданного изображения? - PullRequest
1 голос
/ 15 марта 2010

Я получил этот вопрос от моего двоюродного брата:

"Каким будет лучший способ создать похожий рабочий сайт, например: http://www.plakletters.nl". Я заглянул на сайт и думаю, что для начала я помогу своему двоюродному брату написать скрипт, который загружает все установленные в системе шрифты в выпадающий список. Этот выпадающий список отправит значение шрифта обратно на страницу и создаст изображения с вводом пользователя из текстового поля. Эти изображения должны быть созданы на стороне сервера, и я также хочу дать пользователям возможность (в будущем) наложить собственный текст поверх загруженного изображения, чтобы увидеть, как будет выглядеть результат на их собственном изображении. Я нашел некоторую информацию о том, как создавать изображения с помощью php, я не знаю, может ли php выводить список установленных шрифтов из системы, на которой он работает. Какой язык сценариев вы бы использовали для выполнения этой работы? Имейте в виду, я бы хотел начать с вывода некоторых изображений на основе пользовательского ввода с использованием языка сценариев.

Ответы [ 3 ]

5 голосов
/ 15 марта 2010

ImageMagick. Это может быть вызвано из оболочки или с привязками Perl или с привязками для многих других языков. Смотри http://www.imagemagick.org/Usage/text/

2 голосов
/ 16 марта 2010

Ну, мой любимый язык - Python, вот что я бы использовал! :) Модуль PIL предоставляет вам возможности для работы с изображениями.

Хотя я никогда раньше не использовал PIL, я собрал следующее с несколькими минутами исследований и экспериментов:

import Image
import ImageDraw

im = Image.open("my_image.png")
draw = ImageDraw.Draw(im)
draw.text((0,0), "my text")
im.save("my_out.png")

Как вы уже догадались, он просто открывает файл PNG, записывает в него «мой текст» в верхнем левом углу и сохраняет измененное изображение под новым именем. Я не знаю, как получить информацию о шрифте, который вы ищете, но ожидаю, что есть модуль, который может помочь с этим.

2 голосов
/ 16 марта 2010

Если вы используете Perl, другой альтернативой является модуль Imager . Это, как правило, более простая установка, чем ImageMagick / PerlMagick.

Добавление текста выглядит так:

use Imager;

my $img = Imager->new(file => "foo.jpg") || die Imager->errstr();

my $font = Imager::Font->new(file=>"Arial.ttf");

$img->string(
    x => 50, y => 70,
    string => "Hello, World!",
    font => $font, size => 30,
    aa => 1, color => 'white'
);
$img->write(file => "foo2.jpg");

Подробнее здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...