Raito
12.09.2014, 18:36:11
Witam
Przerabiam właśnie rozdział książki poświęcony grafice, lecz nie chce mi się ona wyświetlać. Oto kod:
header("Content-type: image/jpeg");
$rysunek = ImageCreate(100,100);
$kolorbialy = ImageColorAllocate($rysunek, 255, 255, 255);
$kolorczarny = ImageColorAllocate($rysunek, 0, 0, 0);
imagefill($rysunek, 0, 0, $kolorczarny);
for($i=1;$i<10;$i++){
imageline($rysunek, 10*$i, 0, 10*$i, 100, $kolorbialy);
imageline($rysunek, 0, 10*$i, 100, 10*$i, $kolorbialy);
}
imagejpeg($rysunek);
imagedestroy($rysunek);
Daj na samym początku skryptu:
Raito
13.09.2014, 07:17:51
Dałem na samym początku, lecz nie wyświetla mi żadnego błędu. Pokazuje tylko obrazek niezaładowanego obrazu...
trueblue
13.09.2014, 07:43:48
Wyrzuć header(...
Raito
13.09.2014, 19:08:23
Teraz pojawiły mi się takie znaczki (to nie całość):
Kod
����JFIF��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ��C $.' ",#(7),01444'9=82<.342��C 2!!22222222222222222222222222222222222222222222222222��dd"�� ���}!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
kujol
13.09.2014, 19:38:33
Oto efekt twojego kodu na localhost


Nic nie zmieniałem i chyba działa.
Raito
13.09.2014, 19:50:47
Taki właśnie miał być wynik skryptu, lecz mi to nie działa. Pokazuje mi się tylko:

Biblioteka GD:
kujol
13.09.2014, 20:01:42
Ja mam tak:
$gd = gd_info();
foreach($gd as $klucz => $wartosc) {
if ($wartosc == '1') $wartosc = '<b>tak</b>';
elseif ($wartosc == '0') $wartosc = '<b>nie</b>';
else $wartosc = '<b>'.$wartosc.'</b>';
echo $klucz.': '.$wartosc.'<br />'; }
Kod
GD Version: bundled (2.1.0 compatible)
FreeType Support: tak
FreeType Linkage: with freetype
T1Lib Support: nie
GIF Read Support: tak
GIF Create Support: tak
JPEG Support: tak
PNG Support: tak
WBMP Support: tak
XPM Support: tak
XBM Support: tak
JIS-mapped Japanese Font Support: nie
Raito
13.09.2014, 21:55:19
U mnie jest tak:
Kod
GD Version: bundled (2.0.34 compatible)
FreeType Support: tak
FreeType Linkage: with freetype
T1Lib Support: nie
GIF Read Support: tak
GIF Create Support: tak
JPEG Support: tak
PNG Support: tak
WBMP Support: tak
XPM Support: nie
XBM Support: tak
JIS-mapped Japanese Font Support: nie
zielu001
13.09.2014, 22:08:27
Zmień kodowanie pliku na UTF-8 Bez bom
Raito
13.09.2014, 22:11:53
Dalej nie działa...
Spróbuj na innej przeglądarce.
Raito
14.09.2014, 08:25:41
W Firefoxie pisze: "Obrazek „http://localhost/testy.php” nie może zostać wyświetlony, ponieważ zawiera błędy."
kujol
14.09.2014, 13:05:02
A sprawdź czy takie coś będzie Ci działać.
$im = ImageCreate(100, 100);
$background = ImageColorAllocate($im, 000, 000, 000);
$color = ImageColorAllocate($im, 255, 255, 255);
$string = imageString($im, 5, 0, 0, 'String', $color);
header("Content-type: image/jpeg");
imagejpeg($im);
imagedestroy($im);
Raito
14.09.2014, 14:34:19
Również nie działa
kujol
14.09.2014, 17:48:49
Spróbuj pobrać najnowszą wersję biblioteki gd z tej strony:
libgd.bitbucket.org/
I zainstaluj ją u siebie, bo błąd leży gdzies po twojej stronie, a nie kodu.
Raito
17.09.2014, 19:08:47
Mógłby mi ktoś dać link do jakiegoś dobrego poradnika, lub napisał krok po kroku jak zaktualizować bibliotekę GD? Pobrałem folder z plikami i nie wiem co teraz zrobić...
nospor
17.09.2014, 20:01:19
Kod co podales w pierwszym poscie to jest tylko ten kod, czy moze zawiera on cos jeszcze dalej lub wczesniej?
Raito
17.09.2014, 20:34:31
Cały plik php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Testy</title>
</head>
<body>
<?php
header("Content-type: image/jpeg");
$rysunek = ImageCreate(100,100);
$kolorbialy = ImageColorAllocate($rysunek, 255, 255, 255);
$kolorczarny = ImageColorAllocate($rysunek, 0, 0, 0);
imagefill($rysunek, 0, 0, $kolorczarny);
for($i=1;$i<10;$i++){
imageline($rysunek, 10*$i, 0, 10*$i, 100, $kolorbialy);
imageline($rysunek, 0, 10*$i, 100, 10*$i, $kolorbialy);
}
imagejpeg($rysunek);
imagedestroy($rysunek);
?>
</body>
</html>
nospor
17.09.2014, 20:37:07

Kod php generujacy obrazek, ma zawierac tylko i wyłacznie kod php generujacy obrazek, a nie jeszcze kupe smiecia w postaci HTML
lukasz_os
17.09.2014, 20:39:26
Wyrzuć wszystkie tagi html!! Poza tym DOCTYPE z HTML 4.01...
Raito
17.09.2014, 20:51:36
Ok, zmieniłem i teraz plik zawiera tylko i wyłącznie kod, lecz efekt jest dalej ten sam...
nospor
17.09.2014, 20:54:27
widac zawiera cos jeszcze, np. puste linie przed <?php albo puste linie po ?> albo spacje, albo BOM albo cala masa innych smieci
Raito
17.09.2014, 20:56:43
nospor
17.09.2014, 20:57:50
Jestes pewien, ze plik zapisales w UTF8 bez BOM?
Raito
20.09.2014, 10:10:08
W zakładce Format mam zaznaczone UTF-8 bez BOM.
Pyton_000
20.09.2014, 10:29:44
Wywal ?>, nie zaleca się stosowania ?> w plikach .php
Potem zrób zapisz jako "UTF-8 bez BOM"
trueblue
20.09.2014, 10:37:37
A potem jeśli nadal nie działa, pokaż co kod wyrzuci na ekran kiedy usuniesz header(....
Raito
20.09.2014, 10:58:26
Usunąłem ?>, przekonwertowałem do UTF-8 bez BOM, ale dalej nie działa... Po usunięciu header wyświetla mi:
Pyton_000
20.09.2014, 11:19:01
I nie ma bata,musi działać

Sprawdzałeś inne przeglądarki ?
Raito
20.09.2014, 11:27:34
Dzięki wielkie

Działa na Firefoxie. Zna ktoś powód czemu na Chrome nie działa?
Pyton_000
20.09.2014, 11:29:13
Cache, AdBlock, faza księżyca, przypływy w Tajlandii, pozycja słońca w Egipcie nad piramidami... Można wymieniać bez końca
Raito
20.09.2014, 11:46:09
Ta grafika raz działa, raz nie... Nie działała na chrome, na firefoxie zadziałało. Nic nie zmieniałem odświeżyłem chrome i zadziałało...
trueblue
20.09.2014, 12:04:18
Wyczyść cache przeglądarki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.