Nie udało mi się znaleźć rozwiązania mojego problemu w googlech więc zwracam się z prośbą o pomoc w pewnym problemie.

Posiadam klasę główną, która na podstawie zapytania tworzy tablicę obiektów Segment (problem wcześniejszy ale okazało się, że nie można w znaczniki <a> wstawiać <table> więc zamieniam tabelkę na obrazek). W trakcie tworzenia obiektu przekazywane są parametry pobrane z zapytania. Na ich podstawie klasa Segment generuje obrazek.
Problem mój to jak wyświetlić ten obrazek.

Poniżej trochę pseudo kodu
  1. <?php
  2. class Glowna {
  3.  
  4. function __connstruct() {
  5.  $this->tablica = new Segment($pierwszy, $drugi, $trzeci ....);
  6. }
  7. function wyswietl_tablice_obiektów(){
  8. //co tu powinienem wstawić aby wyświetlić obrazki stworzone w konstruktorze
  9. }
  10.  
  11. }
  12.  
  13. class Segment{
  14. function __construct($pierwszy, $drugi, $trzeci ....){
  15. //w tym miejscu przyjmuję parametry i na ich podstawie generuję tabelę NxN z odpow
    iednimi wagami
  16. }
  17.  
  18. public function draw_img($format="png"){
  19. $img_format = strtolower($format);
  20. $wielkosc = $this->wielkosc_cegielki * $this->wielkosc_segmentu;
  21. $obrazek = imagecreate($wielkosc, $wielkosc);
  22. $kolor_s = imagecolorallocate($obrazek, 0, 0, 0);
  23. $kolor_p = imagecolorallocate($obrazek, 127, 200, 0);
  24. ImageFill($obrazek,1,1,$kolor_podlogi);
  25. for($i = 1; $i <= $this->wielkosc_segmentu; $i++){
  26. for($j = 1; $j <= $this->wielkosc_segmentu; $j++){
  27. if($this->tablica[$i][$j] == 1){
  28. ImageFilledRectangle($obrazek, $x1, $y1, $x2, $y2, $kolor_s);
  29. }else {
  30. ImageFilledRectangle($obrazek, $x1, $y1, $x2, $y2, $kolor_p);
  31. }
  32. }
  33. }
  34. header ("Content-type: image/" . $this->img_format);
  35. switch ($this->img_format) {
  36. case "png": ImagePNG ($obrazek); break;
  37. default: ImageJPEG ($obrazek);
  38. }
  39. imagedestroy($obrazek);
  40. }
  41. }
  42. ?>


Jeszcze jedno działa mi wyświetlanie poprzez poniższy plik

  1. <?php
  2. include("segment.class.php");
  3. $my_image = new Segment1;
  4. $my_image->draw_img();
  5. ?>


lecz to rozwiązanie wymaga pobrania z bazy danych NxN rekordów co może być lekko uciążliwe przy dużej oglądalności strony dlatego interesuje mnie możliwość wyświetlania obrazków z wnętrza klasy.