![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 5.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Miniaturki wygladają strasznie
http://www.galeriasempy.yoyo.pl/galerie/naklo/ oto źródło Robiący miniaturki: CODE <?php session_start(); function linkuj($sciezka, $nazwa){ ?> <html> <head></head> <body> <a href="<?php echo $sciezka; ?> "/><?php echo $nazwa; ?> </a> </body> </html> <?php } $_SESSION['kat'] = $_POST['C2']; $zmienna = $_POST['C2']; $fol = "galerie/".$_SESSION['kat']; // folder ze zdjęciami $folder = "galerie/"; $prfx = "min_"; // prefix poprzedzający nazwy miniaturek $i = 0; // chmod($fol, 0777); $naz = array(); $dane = @file($fol."/dane.txt"); if(is_array($dane)) foreach($dane as $v) { $t = explode("|", $v); $naz[] = $t[0]; } $uchwyt = opendir($fol); while(false !== ($plik = readdir($uchwyt))) if(is_file($fol."/".$plik) && (!is_file($fol."/".$prfx.$plik) || !in_array($plik, $naz)) && substr($plik, 0, strlen($prfx)) != $prfx && ereg("^.+\.jpe?g$", $plik) || ereg("^.+\.JPE?G$", $plik)) { $org = imagecreatefromjpeg($fol."/".$plik); $s_org = imagesx($org); $w_org = imagesy($org); $s_min = 250; if(($w_min = floor(($s_min * $w_org) / $s_org)) > 150) $w_min = 200; $min = imagecreate($s_min, $w_min); imagecopyresized($min, $org, 0, 0, 0, 0, $s_min, $w_min, $s_org, $w_org); imagedestroy($org); imagejpeg($min, $fol."/".$prfx.$plik, 100); imagedestroy($min); if(in_array($plik, $naz)) unset($dane[array_search($plik, $naz)]); $dane[] = "$plik|$s_org|$w_org|$prfx$plik|$s_min|$w_min\n"; $i++; } closedir($uchwyt); $fp = fopen($fol."/dane.txt", "x"); flock($fp, 2); fputs($fp, str_replace("\r", "", join("", $dane))); flock($fp, 2); fclose($fp); I Wyświetlający CODE <table align="center"> <tr><td valign="top"><? $ile = 2; //ilość zdjęć w jednym wierszu tabeli $fol = "galerie/".$_SESSION[\'kat\']; //folder ze zdjęciami $i = 1; $dane = @file("dane.txt"); if(is_array($dane)) foreach($dane as $v) { $d = explode("|", chop($v)); echo "<a href=\"$d[0]\" rel=\"lytebox[vacation]\" title=\"Ouch rulez\">". "<img src=\"$d[3]\" width=\"$d[4]\" height=\"$d[5]\"></a>". ($i == $ile ? "</td></tr><tr><td valign=\"top\">" : "</td><td valign=\"top\">")."\n"; $i < $ile ? $i++ : $i = 1; } ?></td></tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="760"> <tr> <td> <center><a href="http://www.studiotg.com"><img src="http://www.sempa.pl/galeria/grafika/logo1.gif" border="0"></a><br><b><a href="http://www.sempa.pl/index.php?id1=stopka&id2=stopka">Autorzy</a><br><br></center> </td> </tr> </table> </td> </tr> </table> </center> |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zamień imagecopyresized() na imagecopyresampled()
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 5.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
nic nie dało
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
1. Jeśli tworzysz miniaturkę o niewielkich rozmiarach (np 30x30 px) to nie uzyskasz wysokiej jakości zdjęcia.
2. Usuń width i height ze znacznika img. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 5.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
znaczniki usunięte, ale problem tkwi w samym zmniejszaniu zdjecia, bo zdjecia zmniejszając o takich wymiarach co mam w skrypcie, są normalne. A zdjecia nie są małe 250x200
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Jeśli to co napisał ~mike oraz usunięcie width i height nie pomogło, to na chwilę obecną nie wiem co może być przyczyną problemów. Jak znajdę chwilę, to dokładniej przyjrzę się skryptowi.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Miałem kiedyś podobny problem i znalazłem w komentarzach na php.net taką funkcję:
Wywołanie identyczne jak dla imagecopyresampled(). Jakość jest zdecydowanie lepsza. Ale to subiektywna ocena ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zamiast imagecopyresized - imagecopyresampled (jak napisali poprzednicy), poza tym zamiast imagecreate daj imagecreatetruecolor . U mnie druga operacja pomagała na spaprane kolory.
-------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 5.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 15:58 |