Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]imagecopyresampled - problem ze zmniejszeniem obrazu
slimboot
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 14.03.2011

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


Ten temat zapewne był już poruszny, ale przeglądałem google, zaglądałem do manuala i testowałem te wszystkie podane tam skrypty i u mnie żaden nie działa. Wyskakuje mi błąd:

Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\formatowanieobrazka\index.php:8) in c:\usr\krasnal\www\formatowanieobrazka\index.php on line 23
˙Ř˙ŕJFIF˙ţJ÷ŘCl.ÍŁůyŠfoăŠh§ľ˛ęrÉc=ĐűrIlm&3ŰÄňšÁš`ýĄř)ý‹<wq_^Cw ĹşÜMÁ˛šś›Í×yk{o-Ľ–Xoá1IŞEnQâ™â*őřťđ:Î{ôć[‹xm/­IžŢma$Ó¤ű`ś‚éäkin&O>iínĺľÔVŢk{´vY$ÎH˙`ţ řžŃľŢŸcŹO"‡ś’6äŢL‰nň˝Žą–öÓÇΓYˆźŸśy œő‡áävÚËEWöpüń}žtŇín"Ö7Ş7›46ˇZĄš”3kŽÍ{ţŸgćŰZĒZN>šđ§†Ž•ZÚÎ[a§MĎ&œ,őkh H’V˛ż{˜Ú8] žDYŰŔfšŕÝĆł-|wđŢóQ eoyáČN—ŠĎ'ÚŁ´žĘŰ]†O%ÜϡżžŐoĄœ2ââKŚť ...... itd.

linia 23 to to miejsce:
CODE

header('Content-type: image/jpeg');

Nie mam pojędcia co jest nie tak, MĘCZE SIĘ Z TYM JUŻ DRUGI DZIEŃ!

Jeżeli umiesz mi pomóc, to DZIĘKI , bo ja już się cały gotuję

A tak wygląda skrypt:

CODE


$filename = ("obrazek.jpg");


$width = 200;
$height = 200;


header('Content-type: image/jpeg');


list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);


Ten post edytował slimboot 24.03.2011, 16:36:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
slimboot
post
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 14.03.2011

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


No dobra, komunikat o błędzie zniknął, ale nadal wyświetla mi się ciąg znaków i wiem, ze jest to efekt ostatniej linijki w kodzie:

˙Ř˙ŕJFIF˙ţ=CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 1000 ˙ŰC˙ŰC
˙Ŕp–"˙Ä ˙Äľ}!1AQa"q2‘Ą#BąÁRŃđ$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdef.... itd.

Po za tym obraz, chociaż zostaje właściwie pobrany, to jednak nie zostaje sformatowany.

Jak zapisać sformatowany obraz?

Już mam, doszedłem do rozwiązania ! Dla zainteresowanych podaje cały skrypt, moze komuś, to tez pomoże:

Kod
<?php

function callback($buffer)
{
  // replace all the apples with oranges
  return (str_replace("apples", "oranges", $buffer));
}

ob_start("callback");

?>

<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
    <meta name="Description" content="Tu wpisz opis zawarto?ci strony" />
    <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
    <title>Tu wpisz tytuł strony</title>
</head>
<body>
<?
$filename = ("obraz.jpg");


$width = 200;
$height = 200;


header('Content-type: image/jpeg');


list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p,"obrazsformatowany.jpg");







?>
</body>
</html>
<?php

ob_end_flush();

?>


JUż mam ! Doszedłem jakoś do rozwiązania, dla zainteresowanych podaje cały, DZIAŁAJĄCY! skrypt, łącznie z ramami html :


Kod
<?php

function callback($buffer)
{
  // replace all the apples with oranges
  return (str_replace("apples", "oranges", $buffer));
}

ob_start("callback");

?>

<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
    <meta name="Description" content="Tu wpisz opis zawarto?ci strony" />
    <meta name="Keywords" content="Tu wpisz wyrazy kluczowe rozdzielone przecinkami" />
    <title>Tu wpisz tytuł strony</title>
</head>
<body>
<?
$filename = ("obraz.jpg");


$width = 200;
$height = 200;


header('Content-type: image/jpeg');


list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p,"obrazsformatowany.jpg");







?>
</body>
</html>
<?php

ob_end_flush();

?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 07:05