Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
WurstOderWas
Threadersteller
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst Do 10.03.2005 16:02
Titel [PHP] GD-ImageCopyResized macht schwarzen BG |
|
|
Hi Leute,
habe gerade mal erste Gehversuche mit der GD-Lib probiert.
Wollte für den Anfang erstmal ein Bild proportional verkleinern.
Funktioniert auch soweit ziemich gut, aaaber das Bild ist zwar an sich verkleinert, wird jedoch bis zur Originalgrösse mit schwarz aufgefüllt.
Hier is der Code vom Script:
Code: |
<?
header("Content-Type: image/jpeg");
$image=imagecreatefromjpeg($bild);
$breite=imagesx($image);
$hoehe=imagesy($image);
$image1=imagecreatetruecolor($breite,$hoehe);
$farbe=hexdec("000000");
//imagefilledrectangle($image1,0,0,$breite,$hoehe,$farbe);
if($height){
$breite_neu = floor(($height/$hoehe)* $breite);
$hoehe_neu = $height;
}else{
$breite_neu = $width;
$hoehe = floor(($width/$breite)* $hoehe);
}
imagecopyresized($image1, $image, 0,0, 0,0, $breite_neu,$hoehe_neu, $breite,$hoehe);
imagejpeg($image1,"",50);
?>
|
und so soll er dann aufgerufen werden:
Bei fesstehender Hohe:
<img src="jpgresize.php?bild=test.jpg&height=200" border="0" alt="GD-Bearbeitet">
Bei feststehender Breite:
<img src="jpgresize.php?bild=test.jpg&width=200" border="0" alt="GD-Bearbeitet">
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Do 10.03.2005 16:10
Titel
|
|
|
versuch mal "imagecopyresampled"
|
|
|
|
|
Anzeige
|
|
|
WurstOderWas
Threadersteller
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst Do 10.03.2005 16:19
Titel
|
|
|
selbes problem
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Do 10.03.2005 16:27
Titel
|
|
|
!? Seltsam... *üblicherweise* ist das ein Versionsproblem.
|
|
|
|
|
WurstOderWas
Threadersteller
Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht:
|
Verfasst Do 10.03.2005 17:31
Titel
|
|
|
habs gelöst...
Code: | $image1=imagecreatetruecolor($breite_neu,$hoehe_neu); |
da war der fehler... muss nach der berechnung direkt kommen und nicht da ganz oben und mit den originalwerten...
|
|
|
|
|
easteregg
Dabei seit: 15.02.2003
Ort: Deutschland
Alter: 36
Geschlecht:
|
Verfasst Do 10.03.2005 17:55
Titel
|
|
|
Hi,
glaub mir, das Script wird dich glücklicher machen:
Code: | <?
header("Content-Type: image/jpeg");
$image=imagecreatefromjpeg($bild);
$breite=imagesx($image);
$hoehe=imagesy($image);
$farbe=hexdec("000000");
//imagefilledrectangle($image1,0,0,$breite,$hoehe,$farbe);
if($height){
$breite_neu = floor(($height/$hoehe)* $breite);
$hoehe_neu = $height;
}else{
$breite_neu = $width;
$hoehe_neu = floor(($width/$breite)* $hoehe);
}
$image1=imagecreatetruecolor($breite_neu,$hoehe_neu);
imagecopyresized($image1, $image, 0,0, 0,0, $breite_neu,$hoehe_neu, $breite,$hoehe);
imagejpeg($image1,"",50);
?> |
So gibts nämlich keinen Fehler, wenn du anstelle von "height" mal "width" angeben möchtest.
Edit: ich habe mir mal erlaubt, das Script um einen Switcher zu erweitern (je nach Grafikformat):
Code: | <?
$infos=@getimagesize($bild);
if($infos[2]==1){
header("Content-Type: image/gif");
$image=imagecreatefromgif($bild);
$breite=imagesx($image);
$hoehe=imagesy($image);
$farbe=hexdec("000000");
//imagefilledrectangle($image1,0,0,$breite,$hoehe,$farbe);
if($height){
$breite_neu = floor(($height/$hoehe)* $breite);
$hoehe_neu = $height;
}else{
$breite_neu = $width;
$hoehe_neu = floor(($width/$breite)* $hoehe);
}
$image1=imagecreatetruecolor($breite_neu,$hoehe_neu);
imagecopyresized($image1, $image, 0, 0, 0, 0, $breite_neu, $hoehe_neu, $breite, $hoehe);
imagegif($image1,"",50);
}elseif($infos[2]==2){
header("Content-Type: image/jpeg");
$image=imagecreatefromjpeg($bild);
$breite=imagesx($image);
$hoehe=imagesy($image);
$farbe=hexdec("000000");
//imagefilledrectangle($image1,0,0,$breite,$hoehe,$farbe);
if($height){
$breite_neu = floor(($height/$hoehe)* $breite);
$hoehe_neu = $height;
}else{
$breite_neu = $width;
$hoehe_neu = floor(($width/$breite)* $hoehe);
}
$image1=imagecreatetruecolor($breite_neu,$hoehe_neu);
imagecopyresized($image1, $image, 0, 0, 0, 0, $breite_neu, $hoehe_neu, $breite, $hoehe);
imagejpeg($image1,"",50);
}elseif($infos[2]==3){
header("Content-Type: image/png");
$image=imagecreatefrompng($bild);
$breite=imagesx($image);
$hoehe=imagesy($image);
$farbe=hexdec("000000");
//imagefilledrectangle($image1,0,0,$breite,$hoehe,$farbe);
if($height){
$breite_neu = floor(($height/$hoehe)* $breite);
$hoehe_neu = $height;
}else{
$breite_neu = $width;
$hoehe_neu = floor(($width/$breite)* $hoehe);
}
$image1=imagecreatetruecolor($breite_neu,$hoehe_neu);
imagecopyresized($image1, $image, 0, 0, 0, 0, $breite_neu, $hoehe_neu, $breite, $hoehe);
imagepng($image1,"",50);
}
?> |
Ich glaub ich blick allmählich durch die GD-Lib durch
MfG,
easteregg
Zuletzt bearbeitet von easteregg am Do 10.03.2005 18:13, insgesamt 2-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Verzerrte Bilder nach reduzierung mit imagecopyresized()
gif ohne schwarzen hintergrund
[suche] grafik mit kleinem schwarzen menschchen
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|