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

Форум PHP

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

 

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

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

тема: Круговые диаграммы
 
 автор: Crone   (17.09.2006 в 20:08)   письмо автору
 
 

Етсь такая CMS - Битрис. У них в админке строятся круговые диаграммы.
Пробовал построить сам - с помощью imageFilledArc - картинка получается не лучшего качества. А у них диаграммы строятся правильной округлой формы. В чём тут секрет?

Смотрите прикреплённый файл.

   
 
 автор: isset   (17.09.2006 в 20:18)   письмо автору
 
   для: Crone   (17.09.2006 в 20:08)
 

скачайте да посмотрите :)
или скажите где именно строятся у них

   
 
 автор: Crone   (17.09.2006 в 20:26)   письмо автору
 
   для: isset   (17.09.2006 в 20:18)
 

Isset, я Set, если исчо помнишь такого =)
Да давно бы ужо скачал, кабы у них исходники были бы не закодированные. А строятся в админке - есть желание, то можешь посмотреть на демо-сайте. А так я картинку прицепил к первому сообщению исчо.

   
 
 автор: isset   (17.09.2006 в 22:08)   письмо автору
 
   для: Crone   (17.09.2006 в 20:26)
 

помню :)

на http://www.aditus.nu/jpgraph/ тоже графики без сглаживания (именно круги, а остальное сглаживается), интересно чего битрикс придумал.

   
 
 автор: Саня   (17.09.2006 в 23:07)   письмо автору
 
   для: isset   (17.09.2006 в 22:08)
 

Ничего он не придумывал! Просто рисуется график в 2 раза больше и ужимается до нужных размеров.

   
 
 автор: Crone   (17.09.2006 в 23:46)   письмо автору
 
   для: Саня   (17.09.2006 в 23:07)
 

Эту статью я видел - ничего нового для себя не открыл. А вот идея с рисованием графика в 2 раза больше с последующим ужиманием - очень интересная. обязательно попробую. Спасибо!

   
 
 автор: Саня   (18.09.2006 в 00:09)   письмо автору
 
   для: Crone   (17.09.2006 в 23:46)
 

Необязательно в два, можно и больше. Главное в чётное количество раз.

   
 
 автор: Crone   (18.09.2006 в 00:39)   письмо автору
 
   для: Саня   (18.09.2006 в 00:09)
 

<?php
$first 
= array (
    
"width" => 1200,
    
"height" => 1200
);
$second = array (
    
"width" =>120,
    
"height" => 120
);

$image_from imageCreate($first["width"], $first["height"]);
$image_to imageCreate($second["width"], $second["height"]);

$white imageColorAllocate($image_from255255255);
$white_2 imageColorAllocate($image_to255255255);
$black imageColorAllocate($image_from000);

imageFilledEllipse($image_fromround($first["width"] / 2), round($first["height"] / 20), $first["width"], $first["height"], $black);

imageCopyResampled($image_to$image_from0000$second["width"], $second["height"], $first["width"], $first["height"]);
header("Content-type: image/png");
imagePng($image_to);
imageDestroy($image_to);
imageDestroy($image_from);
?>


Вот, что у меня получилось. Заметного прибавления в качестве я не заметил. Сейчас попробую уменьшать размер изображения не один раз, а несколько - может это поможет...

   
 
 автор: Crone   (18.09.2006 в 00:47)   письмо автору
 
   для: Crone   (18.09.2006 в 00:39)
 

Сделал постепенное уменьшение - не помогло. Интересно, в чём проблема...

   
 
 автор: Саня   (18.09.2006 в 12:14)   письмо автору
 
   для: Crone   (18.09.2006 в 00:47)
 

Проблема в том, что нужно работать с полноцветными изображениями:
<?php
$i 
2;
$w 120*$i;
$h 120*$i;

// рисуем
$image imageCreateTrueColor($w$h); 
$white imageColorAllocate($image255255255); 
$black imageColorAllocate($image000); 
imageFill($image11$white);
imageFilledEllipse($imageround($w 2), round($h 2), $w$h$black); 

// уменьшаем
$new imageCreateTrueColor($w/$i$h/$i); 
imageCopyResampled($new$image0000$w/$i$h/$i$w$h); 

// выводим
header("Content-type: image/png"); 
imagePng($new); 
?>

   
 
 автор: Саня   (17.09.2006 в 20:59)   письмо автору
 
   для: Crone   (17.09.2006 в 20:08)
 

Вот это вам подходит? http://codenet.ru/webmast/php/gd/3D-Pie.php

   
 
 автор: isset   (18.09.2006 в 01:21)   письмо автору
 
   для: Crone   (17.09.2006 в 20:08)
 

не не, все проще:

http://icewind.ic.funpic.de/index.php?content=ellipse теория + скрипт с примерами (только исправьте внизу , там $img передается по ссылке, что считается warning-om, поэтому надо убрать из строк с 174 по 179 знак & )
http://personal.3d-box.com/php/filledellipseaa.php еще один скрипт + пример (в них есть по одной синтаксической ошибке, прикреплен исправленный вариант с примером (внизу))

   
 
 автор: Crone   (18.09.2006 в 01:39)   письмо автору
 
   для: isset   (18.09.2006 в 01:21)
 

Помогло. Спасибо за ссылки.

   
Rambler's Top100
вверх

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