Witam
Mecze się od jakiegoś czasu z tym aby mój portalik wyświetlał nieco zmniejszone zdjęcie.
Tworzona jest miniaturka na dysku i z tym niema żadnego problemu.
Problem pojawia się gdy chce zmniejszyć zdjęcie i wyświetlić je bez zapisywania na dysku.
Funkcja do zmiany rozmiaru zdjęcia wygląda tak:
public function TworzMniejszeZdjecie($plik,$docelowa_szerokosc=500,$docelowa_wysokosc=500)
{
// Pobranie orginalnych parametrów i kalkulacja skali
$xskala=$szerokosc/$docelowa_szerokosc;
$yskala=$wysokosc/$docelowa_wysokosc;
// Kalkulacja nowego rozmiaru
if ($yskala>$xskala){
$nowa_szerokosc = round($szerokosc * (1
/$yskala)); $nowa_wysokosc = round($wysokosc * (1
/$yskala)); }
else {
$nowa_szerokosc = round($szerokosc * (1
/$xskala)); $nowa_wysokosc = round($wysokosc * (1
/$xskala)); }
// Zmiana rozmiaru orginalnego obrazu
$obraz_zmiana_wielkosci = imagecreatetruecolor($nowa_szerokosc, $nowa_wysokosc);
$obrazek_tymczasowy = imagecreatefromjpeg ($plik);
imagecopyresampled($obraz_zmiana_wielkosci, $obrazek_tymczasowy, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc);
return $obraz_zmiana_wielkosci;
}
a tu kod strony:
<?php
require_once('lib/obiekt_galerii.php');
require_once('lib/zdjecie.php');
require_once('bazowa.php');
class pokaz_zdjecie extends strona
{
public function WyswietlZawartosc()
{
$id = $_GET['id']; //pobiera zmienna
$baza = new obiekt_galerii;
$baza = $baza->PolaczMySQL();
$wynik = $baza->query("SELECT * FROM `zdjecia` WHERE id=$id");
$tab = $wynik->fetch_assoc();
$plik = "zdjecia/".$tab['galeria']."/".$tab['id'].".jpg"; //scieszka do pliku
echo "<h2 align=\"center\">Zdjecie o nazwie ".$tab['nazwa']."</h2>"; $zdjecie = new zdjecie;
$min = $zdjecie->TworzMniejszeZdjecie($plik);
imagejpeg($min, null, 100);
//echo "<a href='$lok_zdjecie'><img src='usun.php' alt='tekst alternatywny'/></a>";
}
}
$pokaz_zdjecie = new pokaz_zdjecie;
$pokaz_zdjecie->Wyswietl();
?>
Po uruchomieniu zamiast zdjęcia wyskakują mi jakies znaczki:
Proszę o pomoc
(IMG:
http://img192.imageshack.us/img192/918/bladsp.jpg)