Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) ausgabe, bildbearbeitung, direkte bildausgabe, php (edit)
 
Reply to this topicStart new topicStart Poll
> link zeigt kein bild an., WARUM?
kova
Geschrieben am: Fr 3.03.2006, 03:31
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 14
Mitglied seit: 13.02.2006


Hallo

beim mein bild upload-system war die qualität der bilder nicht gerade das beste was es gibt deswegen wollte ich etwas an der qualität machen und habs auch geschaft aber jetzt werden die bilder beim ausschneiden nicht angezeigt. jetzt wollte ich mal wissen wieso und wie kann mans korigieren.

link:
CODE
upload_bild.php?name=$name&image_nr=1


upload_bild.php
CODE
switch($_GET[image_nr]){
case 1:
imagecopyresampled($image_h, $image_h2, 0,0,0,0,$x_size,$y_size,$x_size,$y_size);
imagecopy($image_h, $copy_logo, 0, 0, 0, 0, 100, 20);
break;
case 2:
imagecopyresampled($image_h, $image_h2, 0,0,($orig_width-$x_size)/2,($orig_height-$y_size)/2,$x_size,$y_size,$x_size,$y_size);
imagecopy($image_h, $copy_logo, 0, 0, 0, 0, 100, 20);
break;
case 3:
imagecopyresampled($image_h, $image_h2, 0,0,($orig_width-$x_size),($orig_height-$y_size),$x_size,$y_size,$x_size,$y_size);
imagecopy($image_h, $copy_logo, 0, 0, 0, 0, 100, 20);
break;
}
if($savecl == 1)
{
imagejpeg($image_h, $daten_dir_temp."/".$name, $quality);
imagejpeg($image_h, $quality);
}
else
imagejpeg($image_h, $quality);

imagedestroy($image_h);
Top
PMEmail Poster
Top
 
 
Sascha Ahlers
#2 Geschrieben am: Fr 3.03.2006, 11:25 (+07:54)
Report PostQuote Post

AyomRank 8
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 1701
Mitglied seit: 27.12.2004


Hallo,

ich sehe leider nicht den entsprechenden Content-Type-Header für die Ausgabe, den müsstest Du noch vor der Ausgabe des Strings, von Deinem erzeugten Bild, hinzufügen. [1] [2]


MfG Sascha Ahlers


--------------------
Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."

Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007
Top
PMEmail PosterUsers WebsiteICQ
Top
 
kova
#3 Geschrieben am: Fr 3.03.2006, 19:43 (+08:17)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 14
Mitglied seit: 13.02.2006


hier mal der ganze script:

CODE
<?
header("CONTENT-type: image/jpeg");

$daten_dir_temp = "images/galerie";


$src = imagecreatefromjpeg($daten_dir_temp."/".$name);

$quality = 1000;
$x_size = 240;
$y_size = 320;
$max_dimension = 400;

if($_GET[image_nr]==1)
{
// Bild auf passende Größe ändern
$size = getimagesize($daten_dir_temp."/".$name);

$orig_width = $size[0];
$orig_height = $size[1];

/*if ($orig_width > $orig_height)
{
 $thumbnail_width = $y_size*($orig_height/$orig_width);
 $thumbnail_height = $y_size;
}
else
{*/
 $thumbnail_height = $y_size;
 $thumbnail_width = $y_size*($orig_width/$orig_height);
#}
$thumbnail = imagecreatetruecolor($thumbnail_width, $thumbnail_height);
imagecopyresampled($thumbnail, $src, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $orig_width, $orig_height);

imagejpeg($thumbnail, $daten_dir_temp."/".$name, $quality);
}



//bild ist geändert worden... nun das Bild mit 3 Ausschnitten anzeigen...
$size = getimagesize($daten_dir_temp."/".$name);

$orig_width = $size[0];
$orig_height = $size[1];


$image_h = imagecreatetruecolor($x_size, $y_size);
$image_h2= imagecreatefromjpeg($daten_dir_temp."/".$name);
$copy_logo= imagecreatefromjpeg("images/copy.jpg");

switch($_GET[image_nr]){
case 1:
imagecopyresampled($image_h, $image_h2, 0,0,0,0,$x_size,$y_size,$x_size,$y_size);
imagecopy($image_h, $copy_logo, 0, 0, 0, 0, 100, 20);
break;
case 2:
imagecopyresampled($image_h, $image_h2, 0,0,($orig_width-$x_size)/2,($orig_height-$y_size)/2,$x_size,$y_size,$x_size,$y_size);
imagecopy($image_h, $copy_logo, 0, 0, 0, 0, 100, 20);
break;
case 3:
imagecopyresampled($image_h, $image_h2, 0,0,($orig_width-$x_size),($orig_height-$y_size),$x_size,$y_size,$x_size,$y_size);
imagecopy($image_h, $copy_logo, 0, 0, 0, 0, 100, 20);
break;
}
if($savecl == 1)
{
imagejpeg($image_h, $daten_dir_temp."/".$name, $quality);
imagejpeg($image_h, $quality);
}
else
imagejpeg($image_h, $quality);

imagedestroy($image_h);
?>
Top
PMEmail Poster
Top
 

#4 Geschrieben am: Fr 3.03.2006, 22:49 (+03:06)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Hallo,

Wird das Bild denn im Folder abgelegt?

$img=@ImageCreate(570, 260) or die("Da ist wohl was falsch konfiguriert..");
ImagePng($img,"image".$id.".png");
ImageDestroy($img);

Dann ruf ich nach dem Erzeugen des Bildes per html das Bild ab:

$stroutput.='<HTML><HEAD></HEAD><BODY><IMG src="image".$id.".png"></body></html>";

print $stroutput;
Das funktioniert eigentlich prima.

Gruss

Tümmel
Top
PMEmail Poster
Top
 
kova
#5 Geschrieben am: Fr 3.03.2006, 23:05 (+00:15)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 14
Mitglied seit: 13.02.2006


ich weiß nicht ob ihr mich verstanden habt.

bevor ich "$quality" nicht im script hatte wurde das bild noch angezeigt aber da war die qualität der bilder so beschießen das man nur kästchen gesehen hatte. "übertreibe"

jetzt ist die qualität der bilder wie auf dem origenal man sieht ich dass das bild ausgeschnitten ist.

Und warum zeigt es jetzt kein bild an. Hab nur "$quality" bei imagejpeg reingefügt. blink.gif
Top
PMEmail Poster
Top
 

#6 Geschrieben am: Fr 3.03.2006, 23:48 (+00:42)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Hallo,

Bislang nahm ich an, der quality-Parameter setzt doch die Qualität in % der Orginalqualität.
Mehr als100% sollten folglich keinen Sinn machen.

Top
PMEmail Poster
Top
 
kova
#7 Geschrieben am: Sa 4.03.2006, 22:12 (+22:24)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 14
Mitglied seit: 13.02.2006


OH ich hab mich vertippt die eine "NULL" ist zu viel.
Aber an der NuLL liegt der fehler nicht sondern an was anderem aber an was??
Top
PMEmail Poster
Top
 

#8 Geschrieben am: Sa 4.03.2006, 22:41 (+00:28)
Report PostQuote Post

AyomRank 1
**

Gruppe: Member (inaktiv)
Beiträge: 0
Mitglied seit: --


Bist du sicher, dass das so funktioniert hatte?
Meines Erachtens kopierst du mit imagecopy fehlerfrei einen leeren Bildausschnitt.
phpmanual imagecopy

und wozu ist diese if-clause?

CODE
if($savecl == 1)
{
imagejpeg($image_h, $daten_dir_temp."/".$name, $quality);
imagejpeg($image_h, $quality);
}


Ausserdem kann das thumbnail verzerrt, generiert werden.
Besser ist:
CODE

$maxx=100;    // maximum width
$maxy=75;    // maximum height
if ($size[0]>$size[1]) {$sizemin[0]=$maxx;$sizemin[1]=$maxx/$size[0]*$size[1];
if ($sizemin[1]>$maxy){$sizemin[0]=$maxy/$sizemin[1]*$maxx;$sizemin[1]=$maxy;}}
elseif ($size[1]>$size[0]) {$sizemin[1]=$maxy;$sizemin[0]=$maxy/$size[1]*$size[0];
if ($sizemin[0]>$maxx){$sizemin[1]=$maxx/$sizemin[0]*$maxy;$sizemin[0]=$maxx;}}
elseif($size[1]=$size[0]){
if($maxy>$maxx){$maxy=$maxx;}
$sizemin[0]=$maxy;$sizemin[1]=$maxy;}


(kann sein, dass ich x und y verwechselt hab. cool.gif )

btw. Ausserdem hast du gar kein Fehlerhandling.

Gruss

Tümmel
Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/10912

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Redirected Link - Klick mitloggen Ronald Nickel 402 22 Di 2.12.2008, 20:19
Link Partner gesucht Ralf F 90 1 Mo 24.11.2008, 12:52
Hinterhältiger Link! Buehnentaucher 176 5 Mi 19.11.2008, 18:47
.swf mit Link versehen zank 80 2 Mi 12.11.2008, 19:25
SEO-Tool: Link Verwaltung/Überwachung – Beta Test Marco Wollank 196 3 Mi 29.10.2008, 10:01
Amazon, Bild, t-online für Shops Siegfried_D 185 2 Do 23.10.2008, 09:46
Kaufen ein deutsche Website/Domain oder Text Link günter31 538 11 Di 21.10.2008, 19:46
Suche SMS Link slurpy 100 0 So 19.10.2008, 19:10
Bild automatisch aktualisieren LindaXtra 314 5 So 5.10.2008, 13:09
Link tausch Webmaster mister@ 97 0 Di 23.09.2008, 20:22




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]