PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php bilderstellung


ragtek
15.05.2006, 10:07
also ich hab ein script das mir die datn vom forum als bild darstellt:

http://vb.ragtek.org/signatur.php
hier is das bild auch super
dann wird das bild als jpg gespeichert (qualität 100)
trotzdem schaut es komisch aus:
(farbe des bildes unterscheidet sich von der schriftfarbe obwohls die gleiche sein müsst)
http://vb.ragtek.org/images/signatur/signatur.jpg

Besucher) ", $black);
ImageString($im, 2, 148, 35, "Gepostet: $posts Beiträge in $threads Themen", $black);
ImageString($im, 2, 148, 45, "Last update: $zeit", $black);
header("Content-Type: image/png");
imagepng($im);
Imagejpeg($im, "images/signatur/signatur.jpg",100);
ImageDestroy ($im);

Henry
15.05.2006, 13:47
Hi,
im Header png definiert und dann die Ausgabe als PNG und gleich hinterher als JPG?

Probier mal folgendesheader("Content-Type: image/png");
imagepng($im);
für Ausgabe als PNG

oder

header("Content-Type: image/jpeg");
imagejpeg($im, "images/signatur/signatur.jpg",100);
für Ausgabe alg JPG

Gruß
Henry

ragtek
15.05.2006, 13:53
jetz gehts garnicht mehr
bzw wenn ich /signatur.php aufruf seh ich nichts und bei /images/signatur/signatur.jpg schaut die farbe trotzdem nicht so aus

Henry
15.05.2006, 14:03
Uuups, sorry, ich sollte mit C&P vielleicht nicht so schnell machen :D

Lass bei der JPG-Ausgabe in die Datei mal den Header weg (darf nicht gesetzt werden, wenn Du in eine Datei schreibst).

Willst Du die PHP-Datei aufrufen muß es dann wie folgt aussehen:
header("Content-Type: image/jpeg");
imagejpeg($im, "",100);

Gruß
Henry

ragtek
15.05.2006, 14:17
check ich jetz nicht ganz

also ich will einfach nur das das bild regelmässig erstellt wird und zwar mit den richtigen farben*g*

Henry
15.05.2006, 14:41
Hi,
poste doch mal den ganzen Code, dann lässt sich das Problem besser einkreisen. Vielleicht erstellt Du ja kein TrueColor Bild o.ä.
Ich hatte zunächst Deine Fragestellung anders, d.h. falsch verstanden.
Gruß
Henry

ragtek
15.05.2006, 14:49
also das is ein fertiges script vom hacks board:


$sitename = "";


$get_data = $db->query_first("SELECT COUNT(*) AS threads FROM " . TABLE_PREFIX . "thread");
$threads = $get_data['threads'];
$get_data = $db->query_first("SELECT COUNT(*) AS posts FROM " . TABLE_PREFIX . "post");
$posts = $get_data['posts'];
$get_data = $db->query_first("SELECT COUNT(*) AS user FROM " . TABLE_PREFIX . "user");
$user = $get_data['user'];
$datecut = TIMENOW - $vbulletin->options['cookietimeout'];
$guestsarry = $db->query_first("SELECT COUNT(host) AS sessions FROM " . TABLE_PREFIX . "session WHERE userid = 0 AND lastactivity > $datecut");
$membersarry = $db->query_read("SELECT DISTINCT userid FROM " . TABLE_PREFIX . "session WHERE userid <> 0 AND lastactivity > $datecut");
$guests = intval($guestsarry['sessions']);
$members = intval($db->num_rows($membersarry));
$online = $guests + $members;
$zeit = vbdate($vbulletin->options['timeformat']);
$image = "images/signatur/signatur_vorlage.jpg";
$im = imagecreatefromjpeg($image);
$tc = ImageColorAllocate ($im, 255, 199, 0);
$blue = ImageColorAllocate ($im, 255, 199, 0);
$black = ImageColorAllocate ($im, 255, 199, 0);
ImageString($im, 3, 148, 2, "$sitename", $black);
ImageString($im, 2, 148, 15, "Mitglieder: $user", $black);
ImageString($im, 2, 148, 25, "Online: $online ($members Benutzer und $guests Besucher) ", $black);
ImageString($im, 2, 148, 35, "Gepostet: $posts Beiträge in $threads Themen", $black);
ImageString($im, 2, 148, 45, "Last update: $zeit", $black);
header("Content-Type: image/jpeg");
imagejpeg($im,"",100);
ImageDestroy ($im);

ragtek
15.05.2006, 19:04
wie man an da signatur sieht geht da seit 14:00 garnix mehr :(

Gandalf2003
15.05.2006, 19:09
wie man an da signatur sieht geht da seit 14:00 garnix mehr :(

kann es sein, das der dazugehörige cron nicht läuft, oder wird das nicht über einen cron aktualisiert?

ragtek
15.05.2006, 19:34
also der cron läuft
und eigentlich müsst es auch eine aktualisierung gebn wenn man auf vb.ragtek.org/signatur.php geht was aber auch nicht passiert :(

ich glaub das es mit der änderung zusammenhängt:
header("Content-Type: image/jpeg");
imagejpeg($im,"",100);
anstatt wie früher:
header("Content-Type: image/jpeg");
imagejpeg($im, "images/signatur/signatur.jpg",100);