Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
von gd-erstelltem bild bildgröße ermitteln [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
von gd-erstelltem bild bildgröße ermitteln


 
grabowski
28-02-2004, 11:33 
 
hi,

also ich erstelle mit der gd-library ein Bild und brauche danach die Bildgröße in Bytes des Bildes. Geht das auch ohne das Bild vorher abzuspeichern??

Also im Prinzip so:


$srcimg=ImageCreateFromJPEG("$imagePath/$imageName") or die("Problem In opening Source Image");

$src_width = ImageSX($srcimg);
$src_height = ImageSY($srcimg);

$relation = $src_width / $src_height;


if ($src_height < $imageHeight && $src_width < $imageWidth) {
ImageJPEG($srcimg);
return;
}

$new_height = $imageHeight;
$new_width = round($new_height * $relation,0);

if ($new_width > $imageWidth) {
$new_width = $imageWidth;
$new_height = round($imageWidth / $relation,0);
}








$destimg=ImageCreateTrueColor($new_width,$new_height) or die("Problem In Creating image");

ImageCopyResized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,$src_width,$src_height) or die("Problem In resizing");

filesize($destimg); //funzt nicht, gibts da ne Möglichkeit oder ne Formel zur
//Berechnung der Bildgröße eines komprimierten JPGs.

 
IchBinIch
28-02-2004, 11:34 
 
Ja, mit strlen()

 
TobiaZ
28-02-2004, 11:35 
 
strlen()

 
grabowski
28-02-2004, 12:45 
 
da gibt er mir 14 aus?? Script funzt aber einwandfrei, warum 14??

$srcimg=ImageCreateFromJPEG("$imagePath/$imageName") or die("Problem In opening Source Image");

$src_width = ImageSX($srcimg);
$src_height = ImageSY($srcimg);

$relation = $src_width / $src_height;


if ($src_height < $imageHeight && $src_width < $imageWidth) {
ImageJPEG($srcimg);
return;
}

$new_height = $imageHeight;
$new_width = round($new_height * $relation,0);

if ($new_width > $imageWidth) {
$new_width = $imageWidth;
$new_height = round($imageWidth / $relation,0);
}








$destimg=ImageCreateTrueColor($new_width,$new_height) or die("Problem In Creating image");

ImageCopyResized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,$src_width,$src_height) or die("Problem In resizing");


echo strlen($destimg);

 
TobiaZ
28-02-2004, 13:01 
 
haste mal $destimage ausgeben?

 
grabowski
28-02-2004, 18:35 
 
$destimg ist bei mir ne Ressource, deswegen bekomme ich auch 14 als Stringlänge raus.

 
grabowski
29-02-2004, 13:02 
 
keiner ne ahnung??

 
Wurzel
29-02-2004, 13:11 
 
Original geschrieben von TobiaZ
haste mal $destimage ausgeben?
ausgeben ... auf platte ... grösse ermitteln ... liegen lassen oder löschen...

 
grabowski
29-02-2004, 13:13 
 
ja gut, auf platte zwischenspeichern ist auch ne möglichkeit.

Aber ist doch auch zeitintensiver.

Und wie gehts mit strlen() ???

 
TobiaZ
29-02-2004, 14:39 
 
$destimg ist bei mir ne Ressource, deswegen bekomme ich auch 14 als Stringlänge raus. TATA!

Jetzt überleg dir mal, wie man ein Bild direkt an den Browser sendet. Und dann denkst du nochmal über strlen() nach.

 
grabowski
29-02-2004, 16:15 
 
ok ich gebe das Bild aus:

ImageJPEG($destimg);

das klatscht er mir als String ins Browserfenster, wie kann ich das den unterdrücken, bzw. wie komm ich jetzt an die länge des Strings.

Ich weiß ich bin doof, ich mache es jetzt mit zwischenspeichern auf der Festplatte.

 
TobiaZ
29-02-2004, 16:18 
 
Ich weiß ich bin doof, ich mache es jetzt mit zwischenspeichern auf der Festplatte. und das so kurz vorm Ziel! :eek:

 
grabowski
29-02-2004, 16:20 
 
verarschen kannste andere

 
TobiaZ
29-02-2004, 16:30 
 
OK, wenn du meinst!

 
grabowski
29-02-2004, 16:34 
 
Hauptsache du weißt wie es geht........


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:08 Uhr.