Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> imagedashedline рисует только вертикаль 
V
    Опции темы
skyboy
Дата 12.6.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



вот код:
Код

<?php
$img= imagecreatetruecolor(50,50);
imagefill($img,1,1,imagecolorallocate($img,255,255,255));
imagedashedline($img,1,1,50,50,imagecolorallocate($img,0,0,0));
imagedashedline($img,1,50,50,1,imagecolorallocate($img,0,0,0));
imagedashedline($img,1,25,50,25,imagecolorallocate($img,0,0,0));
imagedashedline($img,25,1,25,50,imagecolorallocate($img,0,0,0));
header("Content-type: image/png");
imagepng($img);
imagedestroy($img);
?>

Я ожидал от него букву "Ж" нарисованную пунктиром. Но отчего-то получаю только вертикальную линию. В хелпе ничего не сказано по поводу ограничений на направление отрисовки. Что я не  так сделал? 
php версии 5. 
PM MAIL   Вверх
xolod
Дата 12.6.2006, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 24.5.2005
Где: Когда: Что:

Репутация: 1
Всего: 13



Дык это... Мануал-то читать надо. Тем более в свете использования тобой 5-ки.
Функция imagedashedline deprecated (забыта и затерта, ее еще поддерживают за совместимостью, но от этого лучше ей не будет).
Делаем так.
Код

<?php
$img= imagecreatetruecolor(50,50);
imagefill($img,1,1,imagecolorallocate($img,255,255,255));
$white  = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
$style = array($black, $black, $black, $black, $black, $white, $white, $white, $white, $white);
imagesetstyle($img, $style);
imageline($img, 1, 1, 50, 50, IMG_COLOR_STYLED);
imageline($img, 1, 50, 50, 1, IMG_COLOR_STYLED);
imageline($img, 1, 25, 50, 25, IMG_COLOR_STYLED);
imageline($img, 25, 1, 25, 50, IMG_COLOR_STYLED);
header('Content-type: image/png');
imagepng($img);
imagedestroy($img);
?>

И получаем импровизированную Ж. За деталями к справке.
Ну и вообще — http://ru.php.net/manual/en/ref.image.php
PM MAIL   Вверх
skyboy
Дата 12.6.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



xolod, а "оставлена в целях совместимости" == "выброшена и забыта"? У imagesetstyle усть "недостаток" - надо использовать переменные для определения стиля. Кроме того, если у меня процедура отрисовки линии идёт отдельно от, скажем, зарисовки фона картинки, то надо будет хитро извращаться, чтоб вычленить цвет фона, чтоб "нештриховая" часть кисти-шаблона не затирала задник. Впрочем, было просто любопытно - может не разобрался в чём. Сам уже сделал через setstyle. Спасибо за информацию.

Добавлено @ 20:04 
Впрочем, можно исользовать imagecolorallocatealpha, и тогда не будет фон затираться.. И всё равно - универсальность - хорошо, но простота - сестра таланта smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0387 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.