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

Форум PHP

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

 

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

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

тема: Создание картинки
 
 автор: smit272   (07.06.2007 в 17:03)   письмо автору
 
 

Есть таблица

<table cellspacing="0" cellpadding="0" align="center">
<tr>
<td width='10' height='10'>1</td>
<td width='10' height='10'>2</td>
<td width='10' height='10'>3</td>
<td width='10' height='10'>4</td>
<td width='10' height='10'>5</td>
<td width='10' height='10'>6</td>
</tr>
<tr>
<td width='10' height='10'>7</td>
<td width='10' height='10'>8</td>
<td width='10' height='10'>9</td>
<td width='10' height='10'>10</td>
<td width='10' height='10'>11</td>
<td width='10' height='10'>12</td>
</tr>
<tr>
<td width='10' height='10'>13</td>
<td width='10' height='10'>14</td>
<td width='10' height='10'>15</td>
<td width='10' height='10'>16</td>
<td width='10' height='10'>17</td>
<td width='10' height='10'>18</td>
</tr>
</table>


Возможно ли сделать снимок этой таблицы средставми php чтобы получился файл картинки этой балицы jpg или gif?

   
 
 автор: Саня   (07.06.2007 в 17:53)   письмо автору
 
   для: smit272   (07.06.2007 в 17:03)
 

Возможно.

   
 
 автор: mr Bin   (07.06.2007 в 19:55)   письмо автору
 
   для: Саня   (07.06.2007 в 17:53)
 

Возможно автор продолжит и спросит: Как это сделать?

   
 
 автор: Trianon   (07.06.2007 в 20:29)   письмо автору
 
   для: Саня   (07.06.2007 в 17:53)
 

средствами php?
Может я проспал чего?
Может в gdlib уже реализовали http-клиент с рендерингом html?

   
 
 автор: smit272   (07.06.2007 в 23:20)   письмо автору
 
   для: Trianon   (07.06.2007 в 20:29)
 

:)
простите за не правильно поставленный вопрос.
Как мне скриптом сделать снимок этой таблицы средставми php чтобы получился файл картинки этой таблицы в jpg или gif хоторый был остался на сервере?

   
 
 автор: mr Bin   (07.06.2007 в 23:44)   письмо автору
 
   для: smit272   (07.06.2007 в 23:20)
 

Вопрос поставлен правильно.

   
 
 автор: Саня   (08.06.2007 в 00:42)   письмо автору
 
   для: Trianon   (07.06.2007 в 20:29)
 

> средствами php?
> Может я проспал чего?
> Может в gdlib уже реализовали http-клиент с рендерингом html?
С каких это пор распарсить частную таблицу и отрисовать её стало таким уж сложным занятием?

<?
$data 
"<table cellspacing=0 cellpadding=0 align=center>
<tr>
<td width='10' height='10'>1</td>
<td width='10' height='10'>2</td>
<td width='10' height='10'>3</td>
<td width='10' height='10'>4</td>
<td width='10' height='10'>5</td>
<td width='10' height='10'>6</td>
</tr>
<tr>
<td width='10' height='10'>7</td>
<td width='10' height='10'>8</td>
<td width='10' height='10'>9</td>
<td width='10' height='10'>10</td>
<td width='10' height='10'>11</td>
<td width='10' height='10'>12</td>
</tr>
<tr>
<td width='10' height='10'>13</td>
<td width='10' height='10'>14</td>
<td width='10' height='10'>15</td>
<td width='10' height='10'>16</td>
<td width='10' height='10'>17</td>
<td width='10' height='10'>18</td>
</tr>
</table>"
;

preg_match_all("!<tr>(.+)</tr>!sU"$data$tr);
for ( 
$i 0$i count($tr[1]); $i++ ) {
  
preg_match_all("!<td[^>]+>(.+)</td>!sU"$tr[1][$i], $td);
  
$matrix[$i] = $td[1];
}

$im imagecreate(17080);
$black imagecolorallocate($im000);
$white imagecolorallocate($im0xff0xff0xff);
imagefill($im00$white);

for ( 
$i 0$i count($matrix); $i++ ) {
  for ( 
$j 0$j count($matrix[$i]); $j++ ) {
    
imagestring($im5$j 30$i 30$matrix[$i][$j], $black);
  }
}
header("Content-Type: image/gif");
imagegif($im);

   
 
 автор: Trianon   (08.06.2007 в 01:10)   письмо автору
 
   для: Саня   (08.06.2007 в 00:42)
 

частную - пара плевых.
Автору остается лишь выяснить, насколько "частная" у него таблица.

   
 
 автор: mr Bin   (08.06.2007 в 01:12)   письмо автору
 
   для: Trianon   (08.06.2007 в 01:10)
 

Можно глупый вопрос? Что такое "частная"?
Это типо одинаковой или простой структуры без лишнего кода, или что?

   
 
 автор: Саня   (08.06.2007 в 01:52)   письмо автору
 
   для: mr Bin   (08.06.2007 в 01:12)
 

Мой код сможет обработать не любую таблицу, а только ту, что указана в первом посте. Шаг влево, шаг вправо и таблица превратится в кашу на картинке. Писать универсальный парсер таблиц на php - занятие нудное и долгое. Поэтому я написал код, работающий только в некоторых частных случаях. Конкретно для указанной автором таблицы. Осталось узнать, какие таблицы будут у smit272. Определить пределы интегрирования, если можно так выразиться.

   
 
 автор: mr Bin   (08.06.2007 в 01:55)   письмо автору
 
   для: Саня   (08.06.2007 в 01:52)
 

А, теперь понял смысл :) спасибо за разъяснение.

   
 
 автор: smit272   (08.06.2007 в 02:06)   письмо автору
 
   для: mr Bin   (08.06.2007 в 01:55)
 

а если у каких то ячеек назначается фон, а у букв внитри назначается цвет или внутри ячейки помещается картинка то тут тогда как?

Да и если тегам <table> назначены какие-то стили то тут тогда как?

Можно ли эту таблица нарисовать как-то внутри самой картинки?
А не выдергивать данные из таблицы и создавать по новой?

   
 
 автор: smit272   (08.06.2007 в 19:11)   письмо автору
 
   для: smit272   (08.06.2007 в 02:06)
 

???

   
 
 автор: Саня   (08.06.2007 в 20:44)   письмо автору
 
   для: smit272   (08.06.2007 в 02:06)
 

Стили тоже нужно парсить и интерпретировать.

> Можно ли эту таблица нарисовать как-то внутри самой картинки?
> А не выдергивать данные из таблицы и создавать по новой?
Что?

   
 
 автор: smit272   (08.06.2007 в 21:00)   письмо автору
 
   для: Саня   (08.06.2007 в 20:44)
 

а как стили то туда парсить?

   
 
 автор: Disable   (08.06.2007 в 21:05)   письмо автору
 
   для: smit272   (08.06.2007 в 21:00)
 

принтскрином гг
для чего такая задача если не секрет?
может вам лучше в пдф...

   
 
 автор: Саня   (08.06.2007 в 21:28)   письмо автору
 
   для: smit272   (08.06.2007 в 21:00)
 

Регулярными выражениями.

   
 
 автор: smit272   (09.06.2007 в 08:49)   письмо автору
 
   для: Саня   (08.06.2007 в 21:28)
 

а можно прмер?

   
Rambler's Top100
вверх

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