Рисование
Хелл всем! Народ как нарисовать картинку с помощью php?
Сомневаешься - не делай,
не сомневаешся - подумай!
не сомневаешся - подумай!
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
Код: Выделить всё
<?php
header("Content-type: image/png");
$string = $_GET['text'];
$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);
?>
Есть еще такая библиотека ImageMagic (найти по ней доку в гугле оч. просто) - так вот она уже выходит за рамки PHP и является библиотекой Unix\Linux систем. Обращаться к ней можно через командную строку. По функционалу эта библиотека вообще уделывает GD (для которой и предназначен вышеприведенный скрипт) - вообще не хуже фотошопа со всеми ее эфектами, только без интерфейса, но из минусов - 1) она достаточно трудная, 2)возможно ее на сервере 3)может не быть (хотя такое оч редко случается) 4) у сервака может быть отключена возможность работы с коммандной строкой.
Самое прикольное - этой библиотекой делать ресайзы. к примеру:
<?
`mogrify -resize 200x200 image.jpg`
?>
При этом пропорции и прочее она сохранит.
Качестов выполнения тоже оченб крутое.
Если же все таки возьмешься за GD - то совет из собственного горького опыта - используй НЕ imagecreate(), а imagecreatetruecolor() - ну и ли как то так. главное здесь - truecolor - качество нормальное получается)))
Самое прикольное - этой библиотекой делать ресайзы. к примеру:
<?
`mogrify -resize 200x200 image.jpg`
?>
При этом пропорции и прочее она сохранит.
Качестов выполнения тоже оченб крутое.
Если же все таки возьмешься за GD - то совет из собственного горького опыта - используй НЕ imagecreate(), а imagecreatetruecolor() - ну и ли как то так. главное здесь - truecolor - качество нормальное получается)))
Доброго всем времени суток!Люди, почему при отрисовки изображения
на дпись на русском превращается в итоге в нечто непонятное?При выводе
на английском все нормально. Далее код.
на дпись на русском превращается в итоге в нечто непонятное?При выводе
на английском все нормально. Далее код.
Код: Выделить всё
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$data=date ('j F,D Y г.');
$data=str_replace('July','Июль',$data); ## Если без этих строчек
$data=str_replace('Wed','Среда',$data); ## то все нормально...
######################################
$visota=25;
$shirina=200;
$im=ImageCreateTrueColor($shirina,$visota);
$white=ImageColorAllocate($im,255,255,255);
$blue=ImageColorAllocate($im,0,0,64);
ImageFill($im,0,0,$blue);
ImageString($im,4,10,5,$data,$white);
Header('Content-type:image/png');
ImagePng($im);
ImageDestroy($im);
?>
Сомневаешься - не делай,
не сомневаешся - подумай!
не сомневаешся - подумай!
Попробуй кодировку задать <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
Duncon,так не выйдет, потому что если поставить кодировку то выдаст это
Warning: Cannot modify header information - headers already sent
Сомневаешься - не делай,
не сомневаешся - подумай!
не сомневаешся - подумай!
ищи у себя косяк, попробуй перегружать страницу при действии..
Есть враиант альтернативный, правда немного ламерский..
Во время вызова функции ImagePng() если не ошибавюсь - второй параметр - это путь, можно сохравить файл а потом его вывести - и вес будет ок
Во время вызова функции ImagePng() если не ошибавюсь - второй параметр - это путь, можно сохравить файл а потом его вывести - и вес будет ок
Мужчина должен уметь делать все, кроме как рожать детей и трахаться в задницу.
Ой.. ну я сморозил....
есть более лучший вариант:
создаешь 2 файла: В первый суешь свой заголовок и определением кодировки (настоятельно советую utf-8), а во втором файле будет вес то что связано с имагой (засунуто вес в функцию к примеру). В первом файле вызываешь функцию и все ок. Я вроде так делал и работало. Если не запашет, скажи я тогда исходники скину, т.к. уменя было похожая тема
есть более лучший вариант:
создаешь 2 файла: В первый суешь свой заголовок и определением кодировки (настоятельно советую utf-8), а во втором файле будет вес то что связано с имагой (засунуто вес в функцию к примеру). В первом файле вызываешь функцию и все ок. Я вроде так делал и работало. Если не запашет, скажи я тогда исходники скину, т.к. уменя было похожая тема
Мужчина должен уметь делать все, кроме как рожать детей и трахаться в задницу.
некаких utf-ов это не наша кодировка, только windows-1251