mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 07:00 Benutzername: Passwort: Auto-Login

Thema: [PHP] GD-ImageCopyResized macht schwarzen BG vom 10.03.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] GD-ImageCopyResized macht schwarzen BG
Autor Nachricht
WurstOderWas
Threadersteller

Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht: Männlich
Verfasst Do 10.03.2005 16:02
Titel

[PHP] GD-ImageCopyResized macht schwarzen BG

Antworten mit Zitat Zum Seitenanfang

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">
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Do 10.03.2005 16:10
Titel

Antworten mit Zitat Zum Seitenanfang

versuch mal "imagecopyresampled"
 
Anzeige
Anzeige
WurstOderWas
Threadersteller

Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht: Männlich
Verfasst Do 10.03.2005 16:19
Titel

Antworten mit Zitat Zum Seitenanfang

selbes problem *Schnief*
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Do 10.03.2005 16:27
Titel

Antworten mit Zitat Zum Seitenanfang

!? Seltsam... *üblicherweise* ist das ein Versionsproblem.
 
WurstOderWas
Threadersteller

Dabei seit: 26.03.2003
Ort: -
Alter: 43
Geschlecht: Männlich
Verfasst Do 10.03.2005 17:31
Titel

Antworten mit Zitat Zum Seitenanfang

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...
  View user's profile Private Nachricht senden
easteregg

Dabei seit: 15.02.2003
Ort: Deutschland
Alter: 36
Geschlecht: Männlich
Verfasst Do 10.03.2005 17:55
Titel

Antworten mit Zitat Zum Seitenanfang

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 Lächel

MfG,
easteregg


Zuletzt bearbeitet von easteregg am Do 10.03.2005 18:13, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen Verzerrte Bilder nach reduzierung mit imagecopyresized()
gif ohne schwarzen hintergrund
[suche] grafik mit kleinem schwarzen menschchen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


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.