Создание графики в PHP

Разработка своих веб-приложений и страничек

Создание графики в PHP

Сообщение -=(Wak)=- » 16 сен 2007, 01:36

Не буду Подробно описывать что зачем а просто выложу примеры


Пример №1

Наложение текста поверх рисунка

Код: Выделить всёРазвернуть
<?php
// указываем что это рисунок
header("Content-type: image/png");

// Текст который будет наложен на рисунок
$string "Hello!";

// рисунок на который будет наложен текст
$im     imagecreatefrompng("images/button1.png");

// цвер этого текста
$orange imagecolorallocate($im22021060);

// ставим нужный размер шрифта в зависимости от размера картинки
$px     = (imagesx($im) - 7.5 strlen($string)) / 2;

// рисуем всё это безобразие !)
imagestring($im3$px9$string$orange);
imagepng($im);
imagedestroy($im);
?>


Изображение

Пример простейший и подходит допустим для кнопок на сайте.
Если вместо

$string = "Hello!";

указать это

$string = $_GET['text'];

то тогда добиться нужной фразы на картинке можно вставив следующий код в html страницу
<img src="image.php?Hello!">
это с учётом что PHP и HTML файл находятся в одной папке и код записан в image.php


Пример №2

Создание рисунка


Код: Выделить всёРазвернуть
<?php
// указываем что это рисунок
header("Content-type: image/png");

// создаём пустой рисунок с разрешением 100х200
$im imagecreatetruecolor(100200);

// сделаем несколько переменных чтоб потом указать нужный цвет
$grey imagecolorallocate($im100100100);
$black imagecolorallocate($im000);
$white imagecolorallocate($im255255255);

// делаем белый фон 
imagefilledrectangle($im00100200$white);

// текстнакартинке
$text 'Hello!';
// путь к Файлу шрифта
$font1 './arialbi.ttf';

// рисуем текст на рисунке imagettftext($im[ID рисунка], 12[размер шрифта], 0[поворот текста],  11[X положение],  12[Y положение], [цвет]$black, $font1[шрифт], $text[текст]);
imagettftext($im1201122$black $font1$text);

// показываем всё это безобразие !)
imagepng($im);
imagedestroy($im);
?>


Изображение

Этот способ лучше в нём можно использовать абсолютно любой шрифт и размер

Для тех у кого есть вопросы по поводу того что фраза тип "Нах English" отображается через одно место есть функция iconv();
Она приведет кодировку в порядок и избавит от проблемы.

$text=iconv("Windows-1251", "UTF-8", $text);

если вставить это в код после "$text = 'Hello!';" то всё будет в норме .

PS эта функция работает не у всех !если у кого то установлен Denver тотам она не работает 100% !

Возможно далее будет написан пример графического счётчика !
Изображение
Изображение
Саратовский сервер Half-Life 2 : Deathmatch

ICQ: 333-264-992 | DC+: -=(Wak)=- | CSS: -=(Wak)=- | Team: [۩Overk!Ls™۩]
Аватара пользователя
-=(Wak)=-
Автор
 
Сообщения: 25
Зарегистрирован: 07 сен 2007, 00:56
Откуда: Саратов

Re: Создание графики в PHP

Сообщение gasKnyaZb » 16 сен 2007, 23:25

-=(Wak)=- писал(а):PS эта функция работает не у всех !если у кого то установлен Denver тотам она не работает 100% !

Возможно далее будет написан пример графического счётчика !


Вот для тех у кого отсутствует iconv

Код: Выделить всёРазвернуть
function win2uni($winline){ 
$isoline =  convert_cyr_string($winline, "w", "i");
$uniline = "";
for ($i=0; $i < strlen($isoline); $i++){
$thischar=substr($isoline,$i,1);
$charcode=ord($thischar);
$uniline.=($charcode>175) ? "&#" . (1040+($charcode-176)). ";" : $thischar;   
}
return $uniline;
}
gasKnyaZb

 
Сообщения: 1
Зарегистрирован: 16 сен 2007, 23:22

графика в php

Сообщение wersoo » 04 дек 2007, 22:11

знакомый попросил помочь, а времени нет. Никто не знает как средствами php (и какие дополнитеьно модули нужны) чтоб встраивать в страничку маленькую копию определенного размер (что-то вроде эскиза) картинки? ну и желательно не создавать новую.
wersoo
Активный участник
 
Сообщения: 71
Зарегистрирован: 11 ноя 2007, 01:01

Re: Создание графики в PHP

Сообщение zk » 04 дек 2007, 22:28

знакомый попросил помочь, а времени нет.

Ну во первых перед созданием новый темы стоит посмотреть, не существует ли такой же.

Для изменения размера картинки, т.е. создания миниатюры подойдёт следующий код (для png):
Код: Выделить всёРазвернуть
$filename = "picture.png"; //файл картинки
list($width, $height) = getimagesize($filename); //получаем размер картинки
$new_width = 64;   //задаём новый размер картинки
$new_height = 48;  //..

$image = imagecreatefrompng($filename); //открываем картинку
$image_p = imagecreatetruecolor($new_width, $new_height); //создаём новую картинку
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); //изменяем размер
imagejpeg($image_p, "image.jpg", 81); //Сохраняем новую картинку


Это приблизительный пример отражающий суть, подробности - http://php.hsdn.org/manual/ru/ref.image.php
zk
Администратор
 
Сообщения: 1972
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Создание графики в PHP

Сообщение Alexsandrit » 01 янв 2008, 21:43

Для тех у кого есть вопросы по поводу того что фраза тип "Нах English" отображается через одно место есть функция iconv();
Она приведет кодировку в порядок и избавит от проблемы.

$text=iconv("Windows-1251", "UTF-8", $text);

получается вот это:
Изображение
Стоит тор сервер.
Изображение
:roll:
Alexsandrit
Активный участник
 
Сообщения: 256
Зарегистрирован: 29 сен 2007, 16:47
Домен: http://proekts.vfose.ru/

Re: Создание графики в PHP

Сообщение BULCH » 03 янв 2008, 10:31

-=(Wak)=- писал(а):Не буду Подробно описывать что зачем а просто выложу примеры
Пример №1

Наложение текста поверх рисунка

Код: Выделить всёРазвернуть
<?php
// указываем что это рисунок
header("Content-type: image/png");

// Текст который будет наложен на рисунок
$string = "Hello!";

// рисунок на который будет наложен текст
$im     = imagecreatefrompng("images/button1.png");

// цвер этого текста
$orange = imagecolorallocate($im, 220, 210, 60);

// ставим нужный размер шрифта в зависимости от размера картинки
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;

// рисуем всё это безобразие !)
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);
?>


Изображение

Пример простейший и подходит допустим для кнопок на сайте.
Если вместо

$string = "Hello!";

указать это

$string = $_GET['text'];

то тогда добиться нужной фразы на картинке можно вставив следующий код в html страницу
<img src="image.php?Hello!">
это с учётом что PHP и HTML файл находятся в одной папке и код записан в image.php



У меня вопрос возник!
Я все сделал так но у меня неработает точнее работает на половину картинка отображается но на ней нету моего текста!( и еще как настроить где именно должен будет быть текст?


ЗЫ. работает только без $string = $_GET['text'];, а надо чтобы было с этим!!!

Заранее спасибо...
Аватара пользователя
BULCH
Участник
 
Сообщения: 25
Зарегистрирован: 09 дек 2007, 11:16
Домен: liveds.ru

Re: Создание графики в PHP

Сообщение zk » 03 янв 2008, 13:33

Ну во первых не нужно таких огромных цитирований.
Вместо:
Код: Выделить всёРазвернуть
<img src="image.php?Hello!">

Надо писать:
Код: Выделить всёРазвернуть
<img src="image.php?text=Hello!">

После этого должно заработать...
Правда пример немного странный =)
zk
Администратор
 
Сообщения: 1972
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Создание графики в PHP

Сообщение Rostov114 » 29 янв 2008, 23:40

BULCH писал(а): У меня вопрос возник!
Я все сделал так но у меня неработает точнее работает на половину картинка отображается но на ней нету моего текста!( и еще как настроить где именно должен будет быть текст?


ЗЫ. работает только без $string = $_GET['text'];, а надо чтобы было с этим!!!

Заранее спасибо...
Я как хоть и тупо пока в ПХП но знаю что $_GET это запрос идет к другому скрипту(точнее к файлу со скриптом). Скрипт то отдельный есть?

Вон даже написано:
$string = $_GET['text'];

то тогда добиться нужной фразы на картинке можно вставив следующий код в html страницу
<img src="image.php?Hello!">
это с учётом что PHP и HTML файл находятся в одной папке и код записан в image.php
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3183
Зарегистрирован: 18 окт 2007, 02:21
Откуда: Россия ( Саратов / Ростов-на-Дону )

Re: Создание графики в PHP

Сообщение DPX-Infinity » 30 янв 2008, 15:22

Rostov114 писал(а):Я как хоть и тупо пока в ПХП но знаю что $_GET это запрос идет к другому скрипту(точнее к файлу со скриптом). Скрипт то отдельный есть?


криво вы знаете, товарищ. $_GET[] - это параметры строки запроса к скрипту. То бишь если текст в адресной строке выглядит так: http://localhost/test.php?param=value то $_GET['param']=="value"

А это:
это с учётом что PHP и HTML файл находятся в одной папке и код записан в image.php

означает, что HTML-файл (это то, где <img src="image.php?Hello!">, кстати как уже было сказано, должно быть <img src="image.php?text=Hello!">) и скрипт, выводящий картинку должны быть в одном месте, т.к. указан относительный путь к скрипту (src="image.php?text=Hello!") - относительно HTML-файла.
Изображение
Переходите на Jabber! За ним будущее!
Желаю вам опенсорса!
Аватара пользователя
DPX-Infinity
Активный участник
 
Сообщения: 723
Зарегистрирован: 02 сен 2007, 20:45
Откуда: Саратов

Re: Создание графики в PHP

Сообщение Rostov114 » 31 янв 2008, 23:58

DPX-Infinity писал(а):криво вы знаете, товарищ. $_GET[] - это параметры строки запроса к скрипту. То бишь если текст в адресной строке выглядит так: http://localhost/test.php?param=value то $_GET['param']=="value"
:pardon: Я тока учу PHP...так что знаниями не блещу, но уже понять в скрипте что где могу...
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3183
Зарегистрирован: 18 окт 2007, 02:21
Откуда: Россия ( Саратов / Ростов-на-Дону )

След.

Вернуться в PHP, HTML, CSS...

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron