![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 566 Pomógł: 18 Dołączył: 23.08.2003 Skąd: Łomża Ostrzeżenie: (0%) ![]() ![]() |
Witam. Powiecmy ze mam obrazek o wymiarach 250x25
i teraz mam pytanie. jak go podzielic na 10 rownych kawalkow (25x25) ![]() najlepiej jak by ktos odchaczyl jakas funkcje, np: function img ($plik_obrazka,$value){ i tu kod } przy czym $value jest to liczba od 0 do 9.... i zeby ta funkcja zwracala ten kawalek obrazka... b. prosze o pomoc... troche nagmatwane chyba? ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
zainteresuj sie funkcja [manual:3606cf5575]imagecopy[/manual:3606cf5575]
A wyczuwam, ze chodzi Ci o wyciagniecie odpowiedniej cyfry z obrazka skladajacego sie z cyfr 0-9 (stad na 10 czesci ![]() [php:1:3606cf5575] <? $filename = "cyfry.png"; $q = $_SERVER['QUERY_STRING']; $im = imagecreatefrompng($filename); $y = imagesy($im); $x = (imagesx($im) / 10); $im2 = imagecreate($x * strlen($q),$y); for ($i = 0; $i < strlen($q);$i++) { imagecopy($im2, $im, $i*$x+1, 1, (int)$q[$i] * $x + 1, 1, $x, $y); } fclose($fp); imagepng($im2); ?> [/php:1:3606cf5575] Wycialem czesc sprawdzajaca bledy, zeby go mozliwie skrocic i nie zmniejszac czytelnosci. Skrypt "odpala" sie tak: Kod <img src="img.php?2345" alt="" />
Wygeneruje to grafike z cyframi 2345 pobranymmi z pliku cyfry.png. Dziala dla kazdego rozmiaru cyfr pod warunkiem, ze kazda cyfra ma swoje pole o stalej szerokosci. Idealny moze nie jest, ale dziala, na poczatek Ci wystarczy. Masz, pobaw sie ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Witam. Powiecmy ze mam obrazek o wymiarach 250x25
i teraz mam pytanie. jak go podzielic na 10 rownych kawalkow (25x25) ![]() [php:1:ec5bdb3c68]<?php function img($plik, $value) { $h = 25; $w = 25; $src = imagecreatefrompng($plik); $dst = imagecreatetruecolor($w, $h); imagecopy($dst, $src, 0, 0, $w*$value, 0, $w, $h); return $dst; } ?>[/php:1:ec5bdb3c68] Piszę z głowy więc może nie do końca działać. ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 566 Pomógł: 18 Dołączył: 23.08.2003 Skąd: Łomża Ostrzeżenie: (0%) ![]() ![]() |
Cytat zainteresuj sie funkcja [manual:003e83fe02]imagecopy[/manual:003e83fe02]
A wyczuwam, ze chodzi Ci o wyciagniecie odpowiedniej cyfry z obrazka skladajacego sie z cyfr 0-9 (stad na 10 czesci ![]() [php:1:003e83fe02] <? $filename = "cyfry.png"; $q = $_SERVER['QUERY_STRING']; $im = imagecreatefrompng($filename); $y = imagesy($im); $x = (imagesx($im) / 10); $im2 = imagecreate($x * strlen($q),$y); for ($i = 0; $i < strlen($q);$i++) { imagecopy($im2, $im, $i*$x+1, 1, (int)$q[$i] * $x + 1, 1, $x, $y); } fclose($fp); imagepng($im2); ?> [/php:1:003e83fe02] Wycialem czesc sprawdzajaca bledy, zeby go mozliwie skrocic i nie zmniejszac czytelnosci. Skrypt "odpala" sie tak: Kod <img src="img.php?2345" alt="" />
Wygeneruje to grafike z cyframi 2345 pobranymmi z pliku cyfry.png. Dziala dla kazdego rozmiaru cyfr pod warunkiem, ze kazda cyfra ma swoje pole o stalej szerokosci. Idealny moze nie jest, ale dziala, na poczatek Ci wystarczy. Masz, pobaw sie ![]() jest spoko, tylko moje pliki som typu GIF :| i przy tym kodzie nie kce isc :| moglbys poprawic ten kod? ps: masz gg? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
Zmiana polega na wymianie w lini nr 5 funkcji imagecreatefrompng na odpowiednia dla Ciebie (imagecreatefromjpeg, imagecreatefromgif, imagecreatefromwbmp i jeszcze pare innych). Jest jeszcze imagecreatefromgd, ale poki co jest nieudokumentowana.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 22:16 |