Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> miniatury zdjęć
Usagi
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 9.07.2003

Ostrzeżenie: (0%)
-----


Witam! Mam taki problem. Robię skalowanie zdjęć i wszytsko mi pieknie działa pod warunkiem, że sam proces skalowania nie jest wywoływany w funkcji. Kod wygląda jak poniżej.
[php:1:fdf1506183]
# Constants
define(IMAGE_BASE, "./gallery/users/" . $user . '/' . $album);
define(MAX_WIDTH, 300);
define(MAX_HEIGHT, 300);

# Get image location
$image_file = str_replace('..', '', $_SERVER['QUERY_STRING']);
$image_path = IMAGE_BASE . "/$photo_name";

# Load image
$img = null;
$ext = strtolower(end(explode('.', $image_path)));
if ($ext == 'jpg' || $ext == 'jpeg') {
$img = @imagecreatefromjpeg($image_path);
} else if ($ext == 'png') {
$img = @imagecreatefrompng($image_path);
# Only if your version of GD includes GIF support
} else if ($ext == 'gif') {
$img = @imagecreatefrompng($image_path);
}

# If an image was successfully loaded, test the image for size
if ($img) {

# Get image size and scale ratio
$width = imagesx($img);
$height = imagesy($img);
$scale = min(MAX_WIDTH/$width, MAX_HEIGHT/$height);

# If the image is larger than the max shrink it
if ($scale < 1) {
$new_width = floor($scale*$width);
$new_height = floor($scale*$height);

# Create a new temporary image
$tmp_img = imagecreate($new_width, $new_height);

# Copy and resize old image into new image
imagecopyresized($tmp_img, $img, 0, 0, 0, 0,
$new_width, $new_height, $width, $height);
imagedestroy($img);
$img = $tmp_img;
}
}

# Create error image if necessary
if (!$img) {
$img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
imagecolorallocate($img,0,0,0);
$c = imagecolorallocate($img,70,70,70);
imageline($img,0,0,MAX_WIDTH,MAX_HEIGHT,$c2);
imageline($img,MAX_WIDTH,0,0,MAX_HEIGHT,$c2);
}

# Display the image
imagejpeg($img);
[/php:1:fdf1506183]

Co mogę robić źle? Dlaczego jak próbuje to wywołać z funkcją mającą wyświetlać miniaturki zdjęć wraz z opisem, to się wszystko krzaczy?

Z góry dzieki za pomoc

__________
php >> Skrypty
Prosze uzywac znacznika [php]
Seth


--------------------
Warsztat: Apache 1.3.27 | PHP 4.3.1 | MySQL 3.23.53 | HandyHTML Studio 2
Na warsztacie: Wędrusie [b]llll 20%
Go to the top of the page
+Quote Post
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




podaj, jakie błedy sie pojawiaja, oraz zapodaj gdzie jest ten błedny kod.
A jak byś chciała, to poszukam kod funckji reskalującej obrazki.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Usagi
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 9.07.2003

Ostrzeżenie: (0%)
-----


Cytat
˙Ř˙ŕJFIF˙ţ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ˙ŰC    $.' ",#(7),01444'9=82<.342˙ŰC  2!!22222222222222222222222222222222222222222222222222˙Ŕá,"˙Ä ˙Ä&micro;}!

To jest próbka krzaków - przeglądarka wogóle nie rozpoznaje, że to plik graficzny. I właśnie nie wiem, jak to zmienić.


--------------------
Warsztat: Apache 1.3.27 | PHP 4.3.1 | MySQL 3.23.53 | HandyHTML Studio 2
Na warsztacie: Wędrusie [b]llll 20%
Go to the top of the page
+Quote Post
DeyV
post
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




szkoda ze nie podałas gdzie mozna zobaczyc ten błędny kod.

Choć myśle, że chodzi tu o to, że chcesz wyświetlać grafikę i tekst za jednym razem. A niestety - tak nie można.
Natomiast można zrobić to tak, że w jedynm pliku tworzymy kod html w którym wstawiasz grafikę mniej wiecej tak
[xml:1:a8dd5e94d1]
text
<img scr="nasz_plik_php_generujacy_grafike.php" border="0" >
text
[/xml:1:a8dd5e94d1]

Jesłi jednak nie chodzi o to, to sorki, i podaje przykład funckji któa działa poprawnie.
http://www.mstudio.nq.pl/php_pl/index.php?...Fimage.func.php jest działąjaca funkcja, a raczej 2 - jedna zoptymalizowana pod GD1.6 a 2 - pod GD 2.0


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
spenalzo
post
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Choć myśle, że chodzi tu o to, że chcesz wyświetlać grafikę i tekst za jednym razem. A niestety - tak nie można.

Można, tylko że wtedy trzeba zapisywać minaturkę do pliku.

[php:1:91ead70335]<?php
// generowanie
imagejpeg($image,"plik.jpg");

echo "<img src="plik.jpg">";
?>[/php:1:91ead70335]


--------------------

Go to the top of the page
+Quote Post
GeoS
post
Post #6





Grupa: Zarejestrowani
Postów: 602
Pomógł: 0
Dołączył: --
Skąd: W - WA -> GRO

Ostrzeżenie: (0%)
-----


Od siebie dodam, ze wypadaloby poinformowac przegladarke, ze to grafika, a nie domyslnie text/html.
Wystarczy dodac jednego headera z odpowiednim typem MIME przed przeslaniem do przegladarki grafiki (jesli jedynym bledem sa krzaki zamiast grafiki).


--------------------
Zanim zadasz pytanie, zawsze wczesniej zajrzyj do manuala ( pl.php.net/manual/pl/ ).
Szukasz skryptow - www.hotscripts.com
Go to the top of the page
+Quote Post
Usagi
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 9.07.2003

Ostrzeżenie: (0%)
-----


Juz zrobilam, dziekuje za porady. Rzeczywiscie zabraklo mi <IMG SRC...,
na szczescie juz wszystko dziala prawidlowo - przynajmniej w tym zakresie... :/


--------------------
Warsztat: Apache 1.3.27 | PHP 4.3.1 | MySQL 3.23.53 | HandyHTML Studio 2
Na warsztacie: Wędrusie [b]llll 20%
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:29