Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
1

генерация изображения на сервере

16.02.2012, 15:59. Показов 1669. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Есть одна задумка. Для её воплощении нужно сгенерировать изображение(желательно gif,png, т.к. нужна прозрачность) (размером n*m), заполнить передаваемым цветом.И поместить её в некий каталог на сервере. Я в php новичок, сильно не ругайте. Знаю, что php серверный язык программирования, и возможно есть такие команды?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2012, 15:59
Ответы с готовыми решениями:

Генерация изображения
Доброго всем вечера, знаю что темы такие уже были но вот только стал смотреть генерацию изображения...

генерация изображения в php
какой шрифт лучше поставить,а то выдает ошибку <?php $image =...

Генерация изображения средствами PHP
Здравствуйте, пытаюсь сгенирировать изображение с русским текстом но ничего не получается ... ...

Генерация изображения и изменение шрифта
Здравствуйте, возникла проблема, сделал генерацию изображения, все отлично, мне не понравился...

9
21 / 21 / 6
Регистрация: 19.06.2010
Сообщений: 230
16.02.2012, 20:58 2
что то типа этого
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<body style="background:green">
 
<?php
$img = imagecreate(110, 50); 
imagecolorallocatealpha( $img, 0, 0, 0, 127 ); 
$textcolor=imagecolorallocate($img, 0, 0, 0);
imagestring($img, 5, 3, 15, 'Hello world!', $textcolor);
//header ("Content-type: image/png");
imagepng($img,'img.png');
?>
 
 
<img src="img.png">
 
</body>
</html>
0
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
16.02.2012, 23:45  [ТС] 3
Спасибо! Работает. Хочу поэксперементировать с for, что бы попиксельно заполнять.

Добавлено через 12 минут
Пытаюсь изменить hello world, но ничего не меняется. как застыло.
0
21 / 21 / 6
Регистрация: 19.06.2010
Сообщений: 230
16.02.2012, 23:47 4
возможно картинка закэшировалась в браузере

Добавлено через 1 минуту
попробуй что то такое
PHP
1
<img src="img.png?<?=rand()?>">
0
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
16.02.2012, 23:49  [ТС] 5
Получается эта функци берёт не больше двух слов.
Код
<img src="img.png?<?=rand()?>">
Да, так работает. Но всё же там около 10 букв. Может можно как-то циклом пройтись поствить попиксельно цвет?
0
21 / 21 / 6
Регистрация: 19.06.2010
Сообщений: 230
16.02.2012, 23:51 6
ширина картинки не позволяет записать больше текста
PHP
1
$img = imagecreate(110, 50);
110 это ширина, увеличь

Добавлено через 1 минуту
выбери на странице , выделить все и увидишь границы картинки
0
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
17.02.2012, 12:18  [ТС] 7
ок,спасибо

Добавлено через 12 часов 19 минут
Вопрос.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$img = imagecreate(500, 500); 
imagecolorallocatealpha( $img, 0, 0, 0, 127 ); 
for ($i = 1; $i <= 80; $i++) {
 
        for ($j = 1; $j <= 50; $j++) {
 
        $color = imagecolorallocate($img, 120, 120, 120); 
        imagesetpixel ($img, $j, $i, $color);
 
 
        }
 
 
}
 
imagepng($img,'img.png');
?>
 
<img src="img.png?<?=rand()?>">
В данном случае содаётся изображение 50 на 6 и ещё половина ряда пикселей. Такое впечатление, что где-то заполняется буфер. Можно его как-то очистить?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
17.02.2012, 12:42 8
Цитата Сообщение от titans2011 Посмотреть сообщение
Такое впечатление, что где-то заполняется буфер. Можно его как-то очистить?
Буфер очищается специальной функцией "imagedestroy();". В вашем коде будет выглядеть так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$img = imagecreate(500, 500); 
imagecolorallocatealpha( $img, 0, 0, 0, 127 ); 
for ($i = 1; $i <= 80; $i++) {
 
                for ($j = 1; $j <= 50; $j++) {
 
                $color = imagecolorallocate($img, 120, 120, 120); 
                imagesetpixel ($img, $j, $i, $color);
 
 
                }
 
 
}
 
imagepng($img,'img.png');
imagedestroy($img);
?>
 
<img src="img.png?<?=rand()?>">
1
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
17.02.2012, 12:54  [ТС] 9
Вы знаете. не помогло. Я прикрепил скриншот. Создаётся тоненькая полосочка в изображени 500 на 500.
Изображения
 
0
21 / 21 / 6
Регистрация: 19.06.2010
Сообщений: 230
17.02.2012, 17:26 10
PHP
1
$color = imagecolorallocate($img, 120, 120, 120);
выведите строку за пределы цикла, тоесть перед первым For

Добавлено через 52 секунды
не нужно каждый раз при проходе цикла указывать одной переменной один и тот же цвет. Это достаточно сделать раз, перед циклом
0
17.02.2012, 17:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2012, 17:26
Помогаю со студенческими работами здесь

Генерация изображения с встроенными метаданными
Здравствуйте! Имеется у меня php-файл, результатом работы которого является изображение....

генерация изображения заданного веса в килобайтах
привет.. подскажите.. как генерировать gif картинку средствами php так чтобы можно было задать...

Генерация даты на сервере в Entity Framework
Есть клас public class StudentContext : DbContext { public DbSet&lt;Student&gt; Students...

Генерация pdf и отдача его без сохранения на сервере
Я генерирую в сервлете пдф файл и сохраняю на сервере. Потом обращаюсь к нему и отдаю на скачивание...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru