SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Jak uworzyć JPG'a z fragmentu ekranu?
Autor Wiadomość
Johanson 
Przyjaciel


Dołączył: 05 Lut 2009
Posty: 56
Skąd: Grudziądz
Wysłany: Czw 15 Lip, 2010 12:59   Jak uworzyć JPG'a z fragmentu ekranu?

W trakcie trwania animacji naciskamy na przycisk,
który wycina fragment ekranu i tworzy z niego np. GIF'a, albo JPG'a,
którego można przesłać mail'em w załaczniku.

Jak to zrobic? (niekoniecznie za darmo)
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Czw 15 Lip, 2010 13:25   

Wystarczy wykorzystać funkcję GETpixel, która poprzez zeskanowanie całości ekranu stworzy mapę wartości RGB w wyniku czego można zapisać to jako obrazek, który potem mozna wysłać.
_________________
Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 
     
Johanson 
Przyjaciel


Dołączył: 05 Lut 2009
Posty: 56
Skąd: Grudziądz
Wysłany: Czw 15 Lip, 2010 23:55   

Dzięki
Masz rację, właśnie w taki sposób dotychczas korzystam, mianowicie:

Swish funkcją getPixel(width,height) pobiera wartości RBG dla wycinka ekranu
i wysyła metodą POST send("send.php", "_blank", "POST") do PHP'a.

Problem w tym, że przy rozmiarze wycinka ekranu 400x500 pixeli
musimy przesłać 400x500x3=600000 bajtów.
Możemy oczywiście przed wysyłką skompresować to mniej lub bardziej, ale i tak jest to sporo.
Co prawda metoda POST <teoretycznie> NIE ma ograniczeń na długość przesyłanych zmiennych, ale w praktyce okazuje się, że potrafi się zaciąć - serwer przestaje odpowiadać
i kicha.
Limity czasowe ustawione są na serwerze odpowiednio (z pomocą administratora),
ale i tak są problemy. Najgorsze jest to, że nie jest to w pełni powtarzalne.

Zrobiłem tester, który wysyła zmienną złożoną np. z pewnej ilości znaków 'X' (metodą POST).
Czasami jest tak, że 500KB idzie OK, czasami się rwie.
Przy zwiększaniu długości zmiennej wzrasta prawdopodbieństwo zerwania połączenia,
zaś poniżej pewnej wartości (chyba coś koło 200-300KB) połączenie jest pewne w 100%.

Pomyślałem więc w ten sposób:
Skoro Swish ma pobrać mapę RGB i przesłać do PHP, by on z kolei przerobił to na JPG
i wysłał mail z załącznikiem (tak jak to jest w tej chwili),
to może lepiej w Swishu pobrać mapę RGB zamienić ją na JPG'a i wysłać ją od razu mail'em wprost ze Swisha - bez pośrednictwa PHP'a?

Tylko jest jeden szkopuł.
Jak dobrać się do funkcji wysyłania w Swish'u mail'a z załącznikiem?
 
     
^Januszr 



Pomógł: 216 razy
Dołączył: 11 Maj 2005
Posty: 1854
Skąd: Stolyca od urodzenia
Wysłany: Pią 16 Lip, 2010 07:32   

O tym jak załaczniki wysyłać z poziomu swish pisałem dokładnie... jeden post wcześniej :)
Masz tutaj:
http://swish.wodip.opole....opic.php?t=5099
Wiem, że strasznie duże wychodzą te obrazki i na dobrą sprawę należało by ograniczyć wielkość, jednak nigdy nie spotkałem się z "zacinaniem" i i nnymi problemami, o których piszesz. Jedyny problem to czas, który jest konieczny do "zeskanowania" całości.

Może pokaż jakiś przykład (link) jak to u Ciebie działa?

Powodzenia,
JanuszR
_________________
Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.07 sekundy. Zapytań do SQL: 10