Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Написать на имеющемся изображении
 
 автор: winflip   (02.01.2008 в 11:47)   письмо автору
 
 

Есть картинка logo.gif. Мне надо написать средствами пхп на ней надпись, но чтобы logo.gif осталась такой же, а картинка с наложением вывелась в браузер. Я нашёд в статьях, но там описывается надпись на сгенерированное изображение.

   
 
 автор: Fernus   (02.01.2008 в 12:14)   письмо автору
 
   для: winflip   (02.01.2008 в 11:47)
 


<?php

$image 
imagecreatefromgif("./logo.gif"); // Берём твоё лого, которое должно лежать, в данном случае, в одной папке со скриптом
$font "2"// размер шрифта от 1 до 5
// Координаты верхнего левого угла задаются параметрами $x и $y
$x "5";
$y "5";
$string "Текст_который_выводим";
// Создаём цвет выводимого текста
$red "0"// от 0 до 255
$green "0"// от 0 до 255
$blue "0"// от 0 до 255
$color imageColorAllocate($red$green$blue); // В данном случае получим чёрный цвет
imageString($image$font$x$y$string$color// Собственно выводим текст

header("Content-Type: image/gif"); // Думаю понятно=)
imagegif($image); // Создаём полученную картинку
imagedestroy($image); // Очищаем память

?>

   
 
 автор: winflip   (02.01.2008 в 13:00)   письмо автору
 
   для: Fernus   (02.01.2008 в 12:14)
 

Спасиба! Выручили!!!

   
 
 автор: winflip   (02.01.2008 в 13:16)   письмо автору
 
   для: winflip   (02.01.2008 в 13:00)
 

Вроде бы функция работает, правда там вы забыли водном месте точку с запятой, но в таком случае

<?php

function passgen ($length) {
       
$result "";
       
srand(microtime()*23456);
       for(
$i 1$i <= $length$i++) {
              
$rnd rand(33126);
              
$result .= chr($rnd);
       }
       return (
$result);
}
$gen passgen(7);
$image imagecreatefromgif("./logo.gif"); // Берём твоё лого, которое должно лежать, в данном случае, в одной папке со скриптом
$font "4"// размер шрифта от 1 до 5
// Координаты верхнего левого угла задаются параметрами $x и $y
$x "5";
$y "5";
$string $gen;
// Создаём цвет выводимого текста
$red "0"// от 0 до 255
$green "0"// от 0 до 255
$blue "0"// от 0 до 255
$color imageColorAllocate($red$green$blue); // В данном случае получим чёрный цвет
imageString($image$font$x$y$string$color); // Собственно выводим текст

header("Content-Type: image/gif"); // Думаю понятно=)
imagegif($image); // Создаём полученную картинку
imagedestroy($image); // Очищаем память


?>

выдаёт ошибку:

Warning: Wrong parameter count for imagecolorallocate() in T:\home\virtual\full\gen.php on line 31
GIF87...; 

   
 
 автор: winflip   (02.01.2008 в 13:35)   письмо автору
 
   для: winflip   (02.01.2008 в 13:16)
 

Что это значит и как исправить это????

   
 
 автор: Fernus   (02.01.2008 в 13:42)   письмо автору
 
   для: winflip   (02.01.2008 в 13:35)
 


<?php 

function passgen ($length) { 
       
$result ""
       
srand(microtime()*23456); 
       for(
$i 1$i <= $length$i++) { 
              
$rnd rand(33126); 
              
$result .= chr($rnd); 
       } 
       return (
$result); 

$gen passgen(7); 
$image imagecreatefromgif("./logo.gif"); // Берём твоё лого, которое должно лежать, в данном случае, в одной папке со скриптом 
$font "4"// размер шрифта от 1 до 5 
// Координаты верхнего левого угла задаются параметрами $x и $y 
$x "5"
$y "5"
$string $gen
// Создаём цвет выводимого текста 
$red 0// от 0 до 255 
$green 0// от 0 до 255 
$blue 0// от 0 до 255 
$color imageColorAllocate($image$red$green$blue); // В данном случае получим чёрный цвет 
imageString($image$font$x$y$string$color); // Собственно выводим текст 

header("Content-Type: image/gif"); // Думаю понятно=) 
imagegif($image); // Создаём полученную картинку 
imagedestroy($image); // Очищаем память 


?>

   
 
 автор: winflip   (02.01.2008 в 13:50)   письмо автору
 
   для: Fernus   (02.01.2008 в 13:42)
 

ТЕПЕРЬ ЭТО:
GIF87...@;

   
 
 автор: Fernus   (02.01.2008 в 13:52)   письмо автору
 
   для: winflip   (02.01.2008 в 13:50)
 

У меня всё ок...я протестил прежде чем давать=)
Попробуйте header... в самом верху прописать...

   
 
 автор: winflip   (02.01.2008 в 14:02)   письмо автору
 
   для: Fernus   (02.01.2008 в 13:52)
 

Ему эта строка не нравится:

imagegif($image); // Создаём полученную картинку

   
 
 автор: Fernus   (02.01.2008 в 14:05)   письмо автору
 
   для: winflip   (02.01.2008 в 14:02)
 

Хм...у меня всё работает на denwer'е...

   
 
 автор: winflip   (02.01.2008 в 14:07)   письмо автору
 
   для: Fernus   (02.01.2008 в 14:05)
 

Я hyml тэги не убрал.!!! Теперь как картинка но только щас рамочка с крестиком!!!

   
 
 автор: winflip   (02.01.2008 в 14:08)   письмо автору
 
   для: Fernus   (02.01.2008 в 14:05)
 

Я hyml тэги не убрал.!!! Теперь как картинка но только щас рамочка с крестиком!!!

   
 
 автор: winflip   (02.01.2008 в 14:19)   письмо автору
 
   для: winflip   (02.01.2008 в 14:08)
 

.

   
 
 автор: winflip   (02.01.2008 в 14:27)   письмо автору
 
   для: winflip   (02.01.2008 в 14:19)
 

Помогите пожалуйста.

   
 
 автор: winflip   (02.01.2008 в 14:40)   письмо автору
 
   для: winflip   (02.01.2008 в 14:27)
 

Какого размера нужна картинка????

   
 
 автор: Fernus   (02.01.2008 в 14:55)   письмо автору
 
   для: winflip   (02.01.2008 в 14:40)
 

>Какого размера нужна картинка????
Думаю, любого...

   
 
 автор: winflip   (02.01.2008 в 16:48)   письмо автору
 
   для: Fernus   (02.01.2008 в 14:55)
 

Странная фишка. если дописать к функции имагегиф параметр, то он сохраняет то что мне надо, а в браузере не пашет.

   
 
 автор: Drago   (02.01.2008 в 17:26)   письмо автору
 
   для: winflip   (02.01.2008 в 16:48)
 

Это не странная фишка, а матчасть.
http://softtime.ru/dic/id_dic=364&id_group=15

   
 
 автор: winflip   (02.01.2008 в 18:31)   письмо автору
 
   для: Drago   (02.01.2008 в 17:26)
 

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

   
 
 автор: Drago   (02.01.2008 в 18:50)   письмо автору
 
   для: winflip   (02.01.2008 в 18:31)
 

Последний приведенный скрипт у меня прекрасно работает. Вы его в таком же виде используете?

   
 
 автор: winflip   (02.01.2008 в 20:03)   письмо автору
 
   для: Drago   (02.01.2008 в 18:50)
 

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

   
 
 автор: ddhvvn   (02.01.2008 в 20:23)   письмо автору
 
   для: winflip   (02.01.2008 в 20:03)
 

У Вас хоть картинки включены? :-D

   
 
 автор: Fernus   (02.01.2008 в 20:39)   письмо автору
 
   для: winflip   (02.01.2008 в 20:03)
 

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

Каким образом выводите?Если я правильно понял, то можно сделать так:


<?php  

function passgen ($length) {  
       
$result "";  
       
srand(microtime()*23456);  
       for(
$i 1$i <= $length$i++) {  
              
$rnd rand(33126);  
              
$result .= chr($rnd);  
       }  
       return (
$result);  
}
$var intval($_GET['var']);
$gen passgen($var);  
$image imagecreatefromgif("./logo.gif"); // Берём твоё лого, которое должно лежать, в данном случае, в одной папке со скриптом  
$font "4"// размер шрифта от 1 до 5  
// Координаты верхнего левого угла задаются параметрами $x и $y  
$x "5";  
$y "5";  
$string $gen;  
// Создаём цвет выводимого текста  
$red 0// от 0 до 255  
$green 0// от 0 до 255  
$blue 0// от 0 до 255  
$color imageColorAllocate($image$red$green$blue); // В данном случае получим чёрный цвет  
imageString($image$font$x$y$string$color); // Собственно выводим текст  

header("Content-Type: image/gif"); // Думаю понятно=)  
imagegif($image); // Создаём полученную картинку  
imagedestroy($image); // Очищаем память  


?>


Код приведённый выше пихаем в отдельный файл (допустим img.php)...
А потом там где нужно (т.е. в другом файле) выводим картинку...так:


<?php

echo "<img src=\"img.php?var=7\" alt=\"-code-\"/>";

?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования