![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Problem dot. tworzenia miniatur za pomocą fukcji imagecreatefromjpeg.. W tym konkretnym przypadku orginał ma wielkość 627x500px i podczas tworzenia miniaturki po jego prawej stronie powstaje coś na wzór cienia (czarny pasek).. podczas tworzenia miniatur z grafiki x=y wszystko jest ok.. Skąd problem i jak go przeskoczyć??
Jak to wygląda możecie zobaczyć na stronie http://www.promedia.iap.pl/ardik/ chodzi o te zdjęcia w prawym dolnym rogu. -------------------- created by chomiczek
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Podziel się z nami Twoim kodem, będzie łatwiej pomóc.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Przenoszę: Skrypty -> php
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 271 Pomógł: 4 Dołączył: 5.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Więc kod wygląda mniej więcej tak:
<?php $x = $_GET["roz"]; $plik = $_GET["plik"]; //echo $plik; if ($plik<>"") { header("Content-type: image/jpg"); $zdj = imagecreatefromjpeg("img/mens/".$plik.""); $zdjx = imagesx($zdj); $zdjy = imagesy($zdj); $y = ceil($zdjy*($x/$zdjx)); $nowezdj = imagecreatetruecolor($x,$y); imagecopyresized($nowezdj,$zdj,0,0,0,0,$x,$y,$zdjx,$zdjy); imagejpeg($nowezdj,"",50); exit; } ?> a zdjęcia są wyswietlane w następujący sposób: <?php echo "<img src=\"index.php?plik=".$file."&roz=90\">"; ?> podobna sytuacja ma sie na podstronie MSKIE (tam są de facto te same zdjęcia) -------------------- created by chomiczek
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Może floor zamiast ceil przy obliczaniu $y
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 17.05.2003 Skąd: Kraków , Londyn Ostrzeżenie: (0%) ![]() ![]() |
To rozwiazanie jest jak dla mnie najlepsze napisalem kiedys sobie taki skrypcik dziala on tak iz jesli x jest dluzsze od y to tworzy miniature gdzie dl x jest zdefiniowana wczesniej a y odpowiednia , a jesli y jest wieksze od x to na odwrot. //edit Poza tym uzywasz imagecopyresized co obniza jakosc miniatury teraz uzywa sie resampled Tak czy tak tu masz przyklad dzialania mojego skryptu LINK Ten post edytował nasto 5.01.2005, 20:32:47 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 14.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dalej bawiac sie w arytmetyke... przy zadanych graniczeiach an x i y
![]()
dalsza czesc mojego kodu... czy powinno sie to robicinaczej czy tak tez jest poprawnie?
$foto_str wysylam potem do bazy... Ten post edytował lubmich 14.05.2005, 23:34:43 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:37 |