[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Модуль для иображения...
Pomaska
Всем привет, подскажите пожалуйста, что нужно для того, чтобы писать на изображении... я переустановил php и почему то не рисует теперь:(((
какой модуль надо подключить? вот мой список модулей (и одключенных и нет):
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
extension=php_zip.dll

мне кажется вот эта:
;extension=php_gd2.dll

или у меня модуль включен уже?....



Спустя 4 минуты, 39 секунд (8.10.2010 - 20:36) ZSH написал(а):
;extension=php_gd2.dll
удали ;

Спустя 3 минуты, 10 секунд (8.10.2010 - 20:39) Pomaska написал(а):
тоесть я правельно считал? =)
спасибо:)


Спустя 1 минута, 6 секунд (8.10.2010 - 20:40) Pomaska написал(а):
ой, можешь статейку скинуть где написано как рисовать на рисунках? (точнее мне надо писать:) )

Спустя 10 минут, 56 секунд (8.10.2010 - 20:51) ZSH написал(а):
не помню я сам делал методом тЫка и мануала, гдето здесь на форуме sergies писал поищи

Спустя 2 минуты, 30 секунд (8.10.2010 - 20:53) Pomaska написал(а):
okey, spasibo)))
а как это методом тыка?smile.gif

Спустя 8 минут, 11 секунд (8.10.2010 - 21:01) ZSH написал(а):
это читаю мануал плюс примеры с нета и на локалке пробую писать своё.
В итоге куча неудач и потом получается, но зато понятно потом почему не получалось., и почему получилось.
в итоге понимаеш то, до чего даже не догадывался smile.gif

Спустя 3 минуты, 30 секунд (8.10.2010 - 21:05) Pomaska написал(а):
дааа.... вот я сейчас делаю и тоже ничего не понимаю... XDDD
http://www.phpwiki.ru/Gd
делаю картинку с надписью "всем привет", а она не пашет:(( просто черный прямоугольник:(((

Спустя 4 минуты, 2 секунды (8.10.2010 - 21:09) ZSH написал(а):
ну если есть картинка пусть даже пустая то это плюс

ЗЫ а шрифт подключаеш?

Спустя 1 минута, 6 секунд (8.10.2010 - 21:10) Pomaska написал(а):
http://79.142.91.37/index2.php
вот картинка которая у меня получается.....

как мне сделать просто вывод текста на картинку (картинка допустим 1.png) и мне надо просто на неё на 5-ой и 11-ой строке писать текст из POST

Спустя 27 секунд (8.10.2010 - 21:11) ZSH написал(а):
код покаж

Спустя 13 секунд (8.10.2010 - 21:11) Pomaska написал(а):
axaxa
нет, это плохо)) я как и много других хочу всё и сразу XDD
блин.. в логах ничего не написано...sad.gif((

Спустя 1 минута, 26 секунд (8.10.2010 - 21:12) Pomaska написал(а):
<?php

require('win2uni.php');

define('WIDTH', 200);
define('HEIGHT', 60);
define('FONT_NAME', 'arial.ttf');
define('FONT_SIZE', 20);

$image = imagecreatetruecolor(WIDTH,HEIGHT)
or die('Cannot create image');

// Не забываем преобразовать текст в кодировку Unicode
$text = win2uni('Всем привет! smile.gif');

$coord = imagettfbbox(
FONT_SIZE, // размер шрифта
0, // угол наклона шрифта (0 = не наклоняем)
FONT_NAME, // имя шрифта, а если точнее, ttf-файла
$text // собственно, текст
);

/* Функция imagettfbbox возвращает нам массив из восьми элементов,
содержащий всевозможные координаты минимального прямоугольника,
в который можно вписать данный текст. Индексы массива
удобно обозначить на схеме в виде координат (x,y):

(6,7) (4,5)
+---------------+
|Всем привет! smile.gif|
+---------------+
(0,1) (2,3)

Число элементов массива может на первый взгляд показаться избыточным,
но не следует забывать о возможности вывода текста под произвольным
углом.

По этой схеме легко вычислить ширину и высоту текста:
*/

$width = $coord[2] - $coord[0];
$height = $coord[1] - $coord[7];

// Зная ширину и высоту изображения, располагаем текст по центру:

$X = (WIDTH - $width) / 2;
$Y = (HEIGHT + $height) / 2;

imagettftext(
$image, // как всегда, идентификатор ресурса
FONT_SIZE, // размер шрифта
0, // угол наклона шрифта
$X, $Y, // координаты (x,y), соответствующие левому нижнему
// углу первого символа

0xFFFFFF, // цвет шрифта
FONT_NAME, // имя ttf-файла
$text
);

header('Content-type: image/png');
imagepng($image);
imagedestroy($image);

?>

Спустя 6 минут, 14 секунд (8.10.2010 - 21:18) Pomaska написал(а):
define('FONT_NAME', 'arial.ttf');

вот в чем проблема.... можно как нибудь сделать, чтобы не пихать шрифт в папку с сайтом? там просто название шрифта вписать или чтонибдуь в этом роде......

Спустя 3 минуты, 25 секунд (8.10.2010 - 21:22) ZSH написал(а):
function generateCaptcha($h=30, $w=85, $font = 'ASTRA', $sym_col = 6)
{
$sym = 'abcdefghijkmnlopqrstuvwxyz1234567890';
$text = '';
for($i = 0; $i < 6; $i ++)
{
$text .= substr($sym, rand(0, 35), 1);
}
$font_size = floor($h/1.5);
$max_kol_ch = floor($w/1.5);
$dl_ch = floor($h/3);
$image = imagecreatetruecolor($w, $h);
imagefill($image, 0, 0, 0x000000);
$coord = imagettfbbox($font_size, 0, 'fonts/' . $font . '.ttf', $text);
$width = $coord[2] - $coord[0];
$height = $coord[1] - $coord[7];
$X = ($w - $width) / 2;
$Y = ($h + $height) / 2;
imagettftext($image, $font_size, 0, $X, $Y-3, 0xffcccc, 'fonts/' . $font . '.ttf', $text);
$ass = 1;
while ($ass < $max_kol_ch)
{
$dl = rand(1, $h-$dl_ch);
$wl = rand($dl_ch, $w-$dl_ch);
$dl2 = $dl + $dl_ch;
$wl2 = $wl + rand(-$dl_ch, $dl_ch);
// imageline($image, $wl, $dl, $wl2, $dl2, 0xa0a0a0);
$ass++;
}
imagepng($image, 'cache/captcha.png');
imagedestroy($image);
return $text;
}


вот простой генератор каптчи поковыряй smile.gif


Спустя 41 секунда (8.10.2010 - 21:23) ZSH написал(а):
шрифт должен быть

Спустя 5 минут, 41 секунда (8.10.2010 - 21:28) Pomaska написал(а):
ну я отсюда понял что тут будут появлятся знаки: abcdefghijkmnlopqrstuvwxyz1234567890
шрифт будет в папке fonts: ASTRA.ttf
если я не ошибаюсь то символоф будет появлятся 6.... ну вроде всё...

а что я должен был с него узнать?smile.gif)) тут вроде как нету типа на какой строчке что писать....((
зато есть тут:
ImageString($im, 15, 5, 2, Warcraft, $black);
ImageString($im, 2, 5, 14, "IP: ".$pqinfo['ip'].":".$pqinfo['int_port'], $black);
ImageString($im, 2, 5, 92, "Map: ".$pqinfo['map'], $black);
ImageString($im, 3, 5, 105, "Player: ".$pqinfo['totalplayers']."/".$pqinfo['maxplayers'], $red);
(это мой мониторинг.... я так понял строчка где начинать писать - последня цыфра типа на первой 2, на второй 14, на 3 - 92, на 4 - 105... я прав?)

Спустя 2 минуты, 42 секунды (8.10.2010 - 21:31) ZSH написал(а):
Цитата
тут вроде как нету типа на какой строчке что писать

нету, есть координаты с какой точки вставить текст

Спустя 1 минута, 10 секунд (8.10.2010 - 21:32) Pomaska написал(а):
всё таки я прав!!!:))))
сейчас надо попробовать нарисовать:)))
я просто хочу попробовать сделать такую же тему,Э тока наподобие:)
http://cs9600.vkontakte.ru/u44418285/11888.../x_674a4521.jpg

Спустя 8 минут, 7 секунд (8.10.2010 - 21:40) ZSH написал(а):
если я правильно понял то на рисунке надо вставить текст?

Спустя 9 минут, 47 секунд (8.10.2010 - 21:50) Pomaska написал(а):
да... и причем как то надо сделать, чтобы он как и на том рисунке был по центру.... как такое можно сделать? я проверял, теги не работают, там просто текст тегов вылизал.... как можнор это реализовать?

Спустя 2 минуты, 42 секунды (8.10.2010 - 21:53) ZSH написал(а):
если да то не заморачивайся с динамическими рисунками.
я бы сделал так:
создаем див с размерами рисунка, делаем фоном дива данный рисунок, и позиционируем текст внутри этого дива

Спустя 1 день, 22 часа, 16 минут, 29 секунд (10.10.2010 - 20:09) Pomaska написал(а):
a типа
<div blablabla>
<?php тут коды рапзные?><center><?php echo $_POST[bbb];?></center><?phph коды опять?>
так? а как тогда сделать картинку? просто нужна именно картинка... можешь подобный код скинуть?.... я просто понял как это делать через на картинке, но вот как в центре хз...((

Спустя 9 минут, 32 секунды (10.10.2010 - 20:19) ZSH написал(а):
<div style="position:absolute; left:100px; top:100px; width:400px; height:400px; background-image:url(x_4c392719.jpg);">
<div
align="center" style="position:relative; top:100px; color:red;"><b>TEXT 1</b></div>
<div
align="center" style="position:relative; top:250px; color:green;"><b>TEXT 2</b></div>
</div>


примерно так

Спустя 6 минут, 50 секунд (10.10.2010 - 20:26) Pomaska написал(а):
так мне нужно чтобы эту стр вставляли на форумы (через тег img) и вконтакт выкладывали...

надо ща похимичить.... XD

Спустя 9 минут, 43 секунды (10.10.2010 - 20:35) Pomaska написал(а):
  define('WIDTH', 200);
define('HEIGHT', 60);
$width = $coord[2] - $coord[0];
$height = $coord[1] - $coord[7];

// Зная ширину и высоту изображения, располагаем текст по центру:

$X = (WIDTH - $width) / 2;
$Y = (HEIGHT + $height) / 2;

Спустя 10 минут, 23 секунды (10.10.2010 - 20:46) Pomaska написал(а):
for($i = 0; $i < 6; $i ++)

что означает $i? просто оно во всех языках программирования есть...... оО

Спустя 24 минуты, 37 секунд (10.10.2010 - 21:10) ZSH написал(а):
header("Content-type: image/jpeg");

$image = imagecreatefromjpeg('./111.jpg'); //изображение на котором пишем

$white = imagecolorallocate ($image, 255, 255, 255); //цвет текста

imagettftext ($image, 20, 0, 100, 100, $white, "./4444.ttf","text text text");
// 20 - размер шрифта, 0 - угол наклона текста, 100 и 100 координаты X и Y с верхнего левого угла

imagejpeg($image);

imagedestroy($image);

Спустя 4 минуты, 46 секунд (10.10.2010 - 21:15) Pomaska написал(а):
потом идёт шрифт и текст.....
спасибо!:)
а то я сейчас вот что намутил тут:(((
<?php
require('win2uni.php');

if(isset($_GET['nick'])){
define('WIDTH', 468);
define('HEIGHT', 60);
define('FONT_NAME', 'arial.ttf');
define('FONT_SIZE', 50);

$image = imagecreatetruecolor(WIDTH,HEIGHT)
or die('Cannot create image');

// Не забываем преобразовать текст в кодировку Unicode
$text = win2uni('ник забит ипать: '.$_GET[nick]);

$coord = imagettfbbox(
FONT_SIZE, // размер шрифта
0, // угол наклона шрифта (0 = не наклоняем)
FONT_NAME, // имя шрифта, а если точнее, ttf-файла
$text // собственно, текст
);

/* Функция imagettfbbox возвращает нам массив из восьми элементов,
содержащий всевозможные координаты минимального прямоугольника,
в который можно вписать данный текст. Индексы массива
удобно обозначить на схеме в виде координат (x,y):

(6,7) (4,5)
+---------------+
|Всем привет! smile.gif|
+---------------+
(0,1) (2,3)

Число элементов массива может на первый взгляд показаться избыточным,
но не следует забывать о возможности вывода текста под произвольным
углом.

По этой схеме легко вычислить ширину и высоту текста:
*/

$width = $coord[2] - $coord[0];
$height = $coord[1] - $coord[7];

// Зная ширину и высоту изображения, располагаем текст по центру:

$X = (WIDTH - $width) / 2;
$Y = (HEIGHT + $height) / 2;

imagettftext(
$image, // как всегда, идентификатор ресурса
FONT_SIZE, // размер шрифта
0, // угол наклона шрифта
$X, $Y, // координаты (x,y), соответствующие левому нижнему
// углу первого символа

0xFFFFFF, // цвет шрифта
FONT_NAME, // имя ttf-файла
$text
);

header('Content-type: image/png');
$image=imagecreatefrompng('1.png');
imagepng($image);
imagedestroy($image);
}
else
{echo "<form method='GET' action='index2.php'><input type='text' name='nick'><br><input type='submit' value='Зарегать'></form>";}?>

и мне просто открывает картинку 1.png =( ща сделаю как ты написал:) спасибо

Спустя 8 минут, 34 секунды (10.10.2010 - 21:24) Pomaska написал(а):
вооооооо:)))))
всё работает:))) спасибо большое!!!!:)))))
я вам благодарен лчень сильно:))))
тему можно закрывать, в ней есть всё что нужно, для того, чтобы нарисовать картинку!:)

Спустя 2 минуты, 38 секунд (10.10.2010 - 21:26) ZSH написал(а):
Ну наконец то wink.gif

Спустя 41 минута, 12 секунд (10.10.2010 - 22:07) Pomaska написал(а):
вот полностью рабочий код:
<?php
require('win2uni.php');

if(isset($_GET['nick'])){
define('WIDTH', 468);
define('HEIGHT', 60);
define('FONT_NAME', 'arial.ttf');
define('FONT_SIZE', 10);

$image = imagecreatetruecolor(WIDTH,HEIGHT)
or die('Cannot create image');

// Не забываем преобразовать текст в кодировку Unicode
$text = win2uni('ник забит ипать: '.$_GET[nick]);
$X = WIDTH/2;
$Y = HEIGHT/2;
header('Content-type: image/png');
$image=imagecreatefrompng('1.png');
$white = imagecolorallocate ($image, 255, 255, 255); //цвет текста
imagettftext ($image, FONT_SIZE, 0, $X, $Y, $white, FONT_NAME, $text);
imagepng($image);
imagedestroy($image);
}
else
{echo "<form method='GET' action='index2.php'><input type='text' name='nick'><br><input type='submit' value='Зарегать'></form>";}?>


и win2uni.php (для русских букв)
<?php // Разместим этот код в файле win2uni.php...

// Преобразование Windows 1251 -> Unicode

function win2uni($s)
{
$s = convert_cyr_string($s,'w','i'); // преобразование win1251 -> iso8859-5
// преобразование iso8859-5 -> unicode:

for ($result='', $i=0; $i<strlen($s); $i++) {
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
}
return $result;
}
?>

Спустя 5 минут (10.10.2010 - 22:12) ZSH написал(а):
Цитата
$image = imagecreatetruecolor(WIDTH,HEIGHT)
or die('Cannot create image');


ета строка лишняя, изображение создается здесь : $image=imagecreatefrompng('1.png');

Спустя 20 часов, 5 минут, 13 секунд (11.10.2010 - 18:18) Pomaska написал(а):
воо:) спасибо:)
а тут есть изменение репутации ? (обычно это кнопочка спасибо..) (тут наверно это плюсик под твоей авой...?)

Спустя 5 минут, 6 секунд (11.10.2010 - 18:23) Pomaska написал(а):
кстате... хотел узнать... у меня кодировка на сайте (ну я через notepad++) ANSI, эти файлы тоже сохранил в АНСИ, но когда захожу на страницу http://79.142.91.37/reganicka/ кодировка "летит" в прямом смысле (у меня сайт, все меню через инклуды)..

и вместо картинки просто набор знаков непонятный....

Спустя 34 минуты, 58 секунд (11.10.2010 - 18:58) Pomaska написал(а):
<?
ini_set('display_errors', 'On');
ini_set('log_errors', 'On');
include('../inc/header.php');
require('win2uni.php');
$con = mysql_connect(DBServer,DBUser,DBPass);
if (!$con) {die('Could not connect: ' . mysql_error()); }
mysql_select_db(DBName, $con);
$result = mysql_query("SELECT * FROM `nick` WHERE `id`='$_GET[id]'");
$row = mysql_fetch_array($result);

if(isset($_GET['id'])){
switch($_GET['id']){
case ''.$row['id'].'':
define('WIDTH', 600);
define('HEIGHT', 390);
define('FONT_NAME', 'arial.ttf');
define('FONT_SIZE', 14);
define('VIDAN_KEM', 'Console Style');
define('SAIT', 'http://79.142.91.37/');

// Не забываем преобразовать текст в кодировку Unicode
$nick = win2uni($row['nick']);
$na = win2uni($row['na']);
$data = win2uni($row['data']);


$X = WIDTH/2;
$Y = HEIGHT/2;
header('Content-type: image/png');
$image=imagecreatefrompng('1.png')or die('Cannot create image');
$white = imagecolorallocate ($image, 255, 255, 255); //цвет текста
imagettftext ($image, FONT_SIZE, 0, 123, 122, $white, FONT_NAME, $nick);
imagepng($image);
imagedestroy($image);
echo "Ваша постоянная ссылка на ваш сертификат <textarea cols='20' rows='1' onclick='this.select()'>".$host."reganicka/image.php?id=".$row['id']."</textarea>";
break;
default:echo($_GET['id']." id ещё не получал сертификат");}}

else{
header("location:index.php");}
mysql_close($con);
?>



в чем ошибка?..... я чет непонимаю... изображение не выводится... просто как будто оно загрузится не может (пробую http://79.142.91.37/reganicka/image.php?id=1) нифига...

Спустя 4 минуты, 22 секунды (11.10.2010 - 19:02) Pomaska написал(а):
ты уже зарегался я вижу... твой айди 2.... юлин... че такле реально....?sad.gif(((((

Спустя 4 минуты, 44 секунды (11.10.2010 - 19:07) ZSH написал(а):
imagepng($image, 'папка/имя картинки');


если указать второй параметр то картинка сохранится на сервере, окуда ее можно будет в любой момент показать;

Спустя 1 минута, 21 секунда (11.10.2010 - 19:08) Pomaska написал(а):
эээ непонял...
типа сохранится в эту папку и будет больше не будет работать с базами?...

Спустя 3 минуты, 43 секунды (11.10.2010 - 19:12) Pomaska написал(а):
опаааа:))))) реально работает:)))))
спасибо!:)))) сейчас буду готовить код:))) сразу на картинку чтобы ссылка была:)))

ты сможешь ещё раз зарегатся когда я попрошу?smile.gif

Спустя 2 минуты, 41 секунда (11.10.2010 - 19:15) Pomaska написал(а):
слушай, а как можно сделать вывести ссылку на картинку? echo не работает:(((
как я понял только отправкой на меил?

Спустя 2 минуты, 24 секунды (11.10.2010 - 19:17) ZSH написал(а):
при регистрации создаеш картинку, потом сохраняеш ее в папку с именем 123.png где 123 id пользователя, и картинку можно будет достать зная id.

echo '<img src="./папка/123.png">';

Спустя 2 минуты, 56 секунд (11.10.2010 - 19:20) Pomaska написал(а):
echo вообще не работает... а вот я сейчас сделал вот так:
header("location:".$host."reganicka/k/".$row['id'].".png");


попробуй зарегенься, на картинке высветится только ник и всё...

Спустя 13 минут, 36 секунд (11.10.2010 - 19:33) ZSH написал(а):
нормально wink.gif

Спустя 7 минут, 43 секунды (11.10.2010 - 19:41) Pomaska написал(а):
спасибо тебе большое:) я прям счастлив:) сейчас буду доделывать все остальные поля и всё готово:)

Спустя 28 дней, 3 часа, 2 минуты, 55 секунд (9.11.2010 - 23:44) Андрей19 написал(а):
ребятки у вас тут прикольненький сайтик не против я сдесь якорь брошу. Всем привет я Андрюшка начинающий програмушка:)))) biggrin.gif

Спустя 14 минут, 30 секунд (9.11.2010 - 23:59) Андрей19 написал(а):
[glow=]grin[/glow]
ребятки я попал куда надо smile.gif [color=blue][/color]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.