[PHP] Tablica obiektów jako zmienna sesji

Niestety to co piszę to moja praca dyplomowa… PHP zostało mi narzucone odgórnie przez Profesora z Torunia… Ubolewam nad tym…

Swoją drogą w tym co wysłałem był jeszcze inny błąd. Dlaczego dwa razy sesja? Otóż jedna wersja dotyczy sytuacji gdy przeglądarka nie obsługuje javascriptu i ciasteczek druga gdy oba elementy są obsługiwane, dlatego też w jedynm i drugim wypadku trzeba sesję rozpocząć i odpowiednie formularze wygenerować. Co do php to zracji tego że nie znam go w ogóle i nie trawię będę tutaj często zaglądać. Z jednej strony wykonałbym to w javie gdyby nie narzucenia. Z kolei też nie spotkałem się aby w javie można było generować przezroczyte procentowo grafiki które po nałożeniu się na siebie zaciemniają się wzajemnie - coś takiego możliwe jest w C#, a co do php to będę dalej kombinować. Póki co jeszcze do tego etapu nie doszedłem, ale w sumie to już do niego dochodzę.

Żebyś sobie nerwów nie napsuł, jeśli masz zamiar dużo korzystać z operowania nad obrazkami, zainteresuj się biblioteką Imagick lub podobnymi.

To o czym mówisz masz tutaj: http://www.php.net/manual/en/imagick.se … hannel.php

Swoją drogą, profesor narzucił Ci język (technologię)? Przykra sprawa… możliwa chyba tylko w naszym śmiesznym kraju… :expressionless:

Ogólnie to miałem inny pomysł na pracę dyplomową. Niestety żaden z moich (dostępnych) promotorów nie chciał się tematu podjąć. Siłą rzeczy musiałem wybrać coś z listy - odpękać to i zapomnieć. Co do grafiki myślałem o zastosowaniu - teraz znalezione na chwilie :smiley: - o czymś co zwie się SVG, tylko że w mojej ocenie po tym co przeczytałem to archaizm i problematyczny w zastosowaniach z php.

Daj sobie spokój z SVG, więcej nerwów Cie to nabawi przy implementacji niż pożytku będzie.

Do generowania używaj tego Imagick’a lub poprostu gimpem albo photoshopem przygotowuj sobie grafiki w PNG z odpowiednim kanałem alfa. Wszystkie przeglądarki już dawno to obsługują (a jak potrzebujesz żeby nawet archaiczny IE6 też obsługiwał PNG to jest na to już fix gotowy w postaci skryptu bodajże JS).

TO może sprezycuje tylko swoje wymagania co do technologi/bilioteki odnośnie grafiki. W formularzu jest pole zasieg. Określa ono ile pikseli w średnicy zajmuje obiekt graficzny - elpisa. Więc nie mogę bazować na stworzonych już obrazkach tylko muszę je na nowo generować za każdym razem. Wygenerowana grafika musi mieć możliwość procentowego ustawienia przezroczytości. Nie chodzi mi tutaj o tło obrazka, tylko jeśli generuję okrąg, nadaje mu przezroczytość 90% to po nałożeniu się dwóch okręgów miejsce nałożenie będzie ciemniejsze niż reszta. Coś podobnego znalazłem na tej stronie, ale nie wiem w czym to jest wykonane. Poniżej adres

sebastianp88.cba.pl

Najprościej generuj sobie elipsy przy pomocy Imagick’a i stworzonym elipsom nadawaj kanał alfa 90% :slight_smile: Jak zaczną na siebie nachodzić to uzyskasz taki efekt jak chcesz (taki jak w linku z cba)

fajnie, powiedz mi tyklo czy to wymaga jakiegoś deklarowania nagłłówka xml’owego? Bo przeglądam tutki i nie widzę, w svg jest to potrzebne - pytam tylko dla upewnienia

Nic nie musisz deklarować.

Musisz się tylko upewnić że Imagick jest zainstalowany na serwerze (sprawdzisz sobie czy widać go w modułach -> phpinfo(); )

A korzysta się z niego mniej więcej tak:

<?php


try

{

        $im = new Imagick();

        $im->newImage( 200, 100, "red", "png" );

        $im->writeImage( '/tmp/rectangle.png' );

        echo 'Image Created';

}

catch(Exception $e)

{

        echo $e->getMessage();

}

?>

Tu jest przykład z zapisywaniem do pliku ale nie musisz zapisywać wyniku do pliku, tylko możesz sobie dalej na nim działać :slight_smile:

W SVG musisz mieć XMLa bo SVG to jest “język” opisujący obrazki w postaci wektorów.

instalowałeś może kiedyś tego imagick? Tak właśnie czytam proces instalacyjny - wiele osób ma z nim problemy. zalecenie “if it doesnt work try with a lower version and so on” :o

Szczerze nigdy nie musiałem bo zawsze dostawca (zleceniodawca :slight_smile: ) zapewniał mi serwer już z zainstalowanym Imagick’iem. A jak pisałem skrypty to Dreamwaver podłączał mi się do serwera zdalnego i tam sam wysyłał sam zmienione pliki, więc nic oprócz Ctrl+S nie robiłem :smiley:

Z tego co wiem, to ta biblioteka dobrze działa i mało z nią problemów - tak mówili koledzy którzy dużo więcej z niej korzystali.