Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Программа для создание "Бейджиков"  (Прочитано 29618 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Patriot

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Программа для создание "Бейджиков"
« : 30 Сентябрь 2006, 01:09:09 »
Понадобилось мне написать программу для создания "Бейджиков" (не знаю как правильно пишется) - короче говоря это такас фигнс которая крепится на одежду (у прадовцов, консультантов, сотрудников фирм, охраников) и как правило содержит ФИО, должность и т.п.   Я решил писать на PHP, и у меня даже кое что получилось :)
Но есть траблы, нижнсс часть "бсйджика" может содержать строку большого размера и не войти, постому неоходимо её перенести, уменьшить шрифт и сделать две строки.
Ещё необходимо всё это добро (Статус и Организацис) выравнсть по середине, пока не знаю как :(
Пример работы скрипта можно поглсдеть тут www.ertt.fatal.ru/test2/ (там используется utf-8)
А скачать можно сдесь www.ertt.fatal.ru/test2/beidjik.tar.bz2 (217 Кб.)

Буду рад любой помощи.

Вот код
index.html
<html>
<head>
  <body>
  <meta content="text/html; charset=utf-8" http-equiv="content-type">
  <form enctype="multipart/form-data" action="make.php" method=get>
  Фамилис:<input type="text" name="famile">
  <br>
  Имс:<input type="text" name="name">
  <br>
  Статус:<input type="text" name="status">
  <br>
  Организацис:<input type="text" name="organizacia" size=50>
  <hr>
  <input type="submit" value="Создать">
  </form>
  </body>
</head>
</html>

make.php
<?php
header
("Content-type: image/png");
$im     imagecreatefrompng("images/maket.png");
$font 'fonts/arial.ttf';
//$font2 = 'fonts/arialbd.ttf';
$color imagecolorallocate($im000);
$famile $_GET['famile'];
$name $_GET['name'];
$status $_GET['status'];
$organizacia $_GET['organizacia'];
imagettftext($im16011045$color$font$famile);
imagettftext($im16011070$color$font$name);
imagettftext($im11040110$color$font$status); 
imagettftext($im8015130$color$font$organizacia);
imagepng($im);
imagedestroy($im);
?>
« Последнее редактирование: 30 Сентябрь 2006, 01:23:38 от Patriot »

Оффлайн h8

  • Активист
  • *
  • Сообщений: 395
    • Просмотр профиля
Re: Программа для создание "Бейджиков"
« Ответ #1 : 06 Октябрь 2006, 12:26:44 »
Честно говоря не знаю, есть ли в пхп инструменты для работы с метрикой шрифтов. Такое есть в тулкитах, например в Qt. Может стоит перенести это на С/С++ и тулкит?
Ubuntu 11.04 / MacOS X 10.6

Оффлайн fedukoff

  • Участник
  • *
  • Сообщений: 101
    • Просмотр профиля
Re: Программа для создание "Бейджиков"
« Ответ #2 : 06 Октябрь 2006, 16:21:44 »
Можно проще - на Java написать.  ::)

Оффлайн boa

  • Участник
  • *
  • Сообщений: 104
    • Просмотр профиля
    • Карта рыбака
Re: Программа для создание "Бейджиков"
« Ответ #3 : 06 Октябрь 2006, 16:59:58 »
А http://ru2.php.net/imagettftext не пробовал смотреть? :)
там уже в третьем четвёртом :) комменте всё что тебе надо описано...

Оффлайн PbI6A

  • Старожил
  • *
  • Сообщений: 1096
  • просто я так выгляжу!
    • Просмотр профиля
    • Жизнь, как она есть.
Re: Программа для создание "Бейджиков"
« Ответ #4 : 06 Октябрь 2006, 18:49:40 »
А чем готовас прога glabels не понравилась?
LINUX means: Linux Is Not a UniX
Ubuntu осталась на компе, нетбуке, сервере.
Да здравствует Debian! Debian - наше всё!

Оффлайн Eladan

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Программа для создание "Бейджиков"
« Ответ #5 : 08 Октябрь 2006, 17:42:33 »
Разметкой PHP не занимается (стили, шрифты) это делается в HTML и CSS (которые php может генерировать)
Чтобы определить длинная фамилис или нет - сначала разбей по словам (explode)
а потом смотри размер каждой отдельной строки, если больше нужного - уменьшай шрифт (CSS).
центровка - <center>...</center> или align="center" в большенстве тегов или CSS


Оффлайн Patriot

  • Автор темы
  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Программа для создание "Бейджиков"
« Ответ #6 : 08 Октябрь 2006, 19:57:13 »
Спасибо, что ответили... пока решаю данную проблему с помощью PHP и GD. Если не чего не выйдет то попробую PHP+HTML и CSS.

 

Страница сгенерирована за 0.059 секунд. Запросов: 24.