PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Pi Patel
Отправлено: 11 Февраля, 2018 - 21:27:36
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Февр. 2018  


Помог: 0 раз(а)




Всем привет!
Делаю диаграммы используя pChart.

CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>Statistics</title>
  5. </head>
  6. <div id="image" style="position: relative;">
  7. <img src="Donut1.php" align="left" style="position:absolute;left:0px;right:100px;top:130px;""></img>
  8. </div>
  9. </html>


Donut1.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. /* pChart library inclusions */
  3. include("/var/www/html/class/pData1.class.php");
  4. include("/var/www/html/class/pDraw1.class.php");
  5. include("/var/www/html/class/pPie1.class.php");
  6. include("/var/www/html/class/pImage1.class.php");
  7.  
  8. /* Create and populate the pData object */
  9. $MyData = new pData();
  10. $MyData->addPoints(array(2,3,12,28,55,0,0,0),"ScoreA");
  11. $MyData->setSerieDescription("ScoreA","Application A");
  12.  
  13. /* Define the absissa serie */
  14. $MyData->addPoints(array("text","text","text","text","text","text","text","text","text","text"),"Labels");
  15. $MyData->setAbscissa("Labels");
  16.  
  17. /* Create the pChart object */
  18. $myPicture = new pImage(890,500,$MyData);
  19.  
  20. /* Set the default font properties */
  21. $myPicture->setFontProperties(array("FontName"=>"/var/www/html/fonts/arial.ttf","FontSize"=>14,"R"=>80,"G"=>80,"B"=>80));
  22.  
  23. /* Create the pPie object */
  24. $PieChart = new pPie($myPicture,$MyData);
  25.  
  26. /* Draw an AA pie chart */
  27. $PieChart->draw2DRing(330,260,array("DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>FALSE));
  28.  
  29. /* Render the picture (choose the best way) */
  30. $myPicture->autoOutput("draw2DRing.png");
  31. ?>


Но к сожалению выводится картинками. В общем при выводе изображения в html понадобилось избавиться от фона. Вырезать диаграмму. Нашёл рабочее решение:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $white = imagecolorexact($img, 255, 255, 255);
  3. imagecolortransparent($img, $white);
  4. header("Content-Type: image/png");
  5. imagepng($img);
  6. ?>


Правда не знаю как подцепить его к моему php скрипту, ведь нужен физический png файл.
Подскажите пожалуйста как можно такую вещь реализовать. Может как-то в html прицепить эти два скрипта, но при этом что бы один скрипт проходил через другой. Или imagecreatefrompng использовать как функцию которой не нужен будет png файл.
Ребята, нужен ваш опыт)
 
 Top
Pi Patel
Отправлено: 12 Февраля, 2018 - 00:39:07
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Февр. 2018  


Помог: 0 раз(а)




Получилось:

PHP:
скопировать код в буфер обмена
  1. $myPicture->autoOutput('/var/www/html/'.$image.'.png');
  2. $image = ob_get_contents();
  3. $file = fopen('123.png', 'wb');
  4. fputs($file, $image);
  5. fclose($file);
 
 Top
armancho7777777 Супермодератор
Отправлено: 12 Февраля, 2018 - 14:57:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 4480
Дата рег-ции: Февр. 2011  
Откуда: Иркутск, Россия


Помог: 215 раз(а)




Pi Patel пишет:
Получилось

Что именно?
Вы, уже, сохранили изображение.
Pi Patel пишет:
PHP:
скопировать код в буфер обмена
  1. $myPicture->autoOutput('/var/www/html/'.$image.'.png');

Во-вторых, вместо...
Pi Patel пишет:
PHP:
скопировать код в буфер обмена
  1. $myPicture->autoOutput('/var/www/html/'.$image.'.png');
  2. $image = ob_get_contents();

...достаточно:


-----
Болтовня ничего не стоит. Покажите мне код.
-Linus Torvalds
 
 Top
Vladimir Kheifets
Отправлено: 13 Февраля, 2018 - 14:27:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 277
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 9 раз(а)




Pi Patel пишет:
....
Правда не знаю как подцепить его к моему php скрипту, ведь нужен физический png файл.
Подскажите пожалуйста как можно такую вещь реализовать. Может как-то в html прицепить эти два скрипта, но при этом что бы один скрипт проходил через другой. Или imagecreatefrompng использовать как функцию которой не нужен будет png файл.
Ребята, нужен ваш опыт)


Добрый день! У меня работает без сохранения png файла
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-Type: image/png');
  3. $img = ImgPNG($imagen);
  4. imagepng($img);
  5. //--------------------------------------------------------------
  6. function ImgPNG($imagen)
  7. {
  8.         $im = @imagecreatefrompng($imagen);
  9.         if(!$im)
  10.         {
  11.                 $im  = imagecreatetruecolor(150, 30);
  12.                 $fondo = imagecolorallocate($im, 255, 255, 255);
  13.                 $ct  = imagecolorallocate($im, 0, 0, 0);
  14.                 imagefilledrectangle($im, 0, 0, 150, 30, $fondo);    
  15.         }
  16.         return $im;
  17. }
  18. //------------------------------------------------------
  19. ?>


см. здесь
Прикреплено изображение (Нажмите для увеличения)
Untitled-1.png
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB