imagecopyresized Speicherpfad unverstaendlich

Aser

Erfahrenes Mitglied
tag zam,
also ich habe bisher mein Avatar-Selektion-Script fast vollendet

-es laedt ein Normales Bild hoch
-via javascript kann man mit einem roten Rahmen einen Bildbereich selektieren und die Koordinaten werden dann via generiertem Link an die naechste Seite uebergeben
-da soll dann der Bildausschnitt abgespeichert werden

nun komme ich Zum problem:
imageresize liefert mir folgende Fehlermeldung

Warning: imagecopyresized(): supplied argument is not a valid Image resource in D:\napserver\avataruploaden.php on line 123

Falls es wen interessiert, hier ist der Gesamtcode:
PHP:
echo"<body topmargin='0' leftmargin='0'>";

$timestamp=time();

include "./admin/mysqldaten.php";





if($avatarstatus=='')
{
   echo "<form method='POST' enctype='multipart/form-data' action='avataruploaden.php?nic=$nic&avatarfuer=$avatarfuer&zz=$zz&avatarstatus=selektieren'>
         <input type='file' name='feldupload' size='35'>
         <input type='submit' value='upload' name='B1'><br>
         </form>";
}
elseif($avatarstatus=='selektieren')
{
   $avatarid=$timestamp.$avatarfuer;
   move_uploaded_file($_FILES['feldupload']['tmp_name'], "./bilder/avatars/".$avatarid.".jpg");






   #####################################
   echo "<div id='selektierterbereich' style='position:absolute;'>aelektierterbereich</div>";
   echo "<div id='pixelausgabe' style='position:absolute;'>pixelausgabe</div>";


   echo"
   <script type ='text/javascript'>
   <!--
   var mX, mY, letztemausfigur, letztesangeklicktesfeld, musterfeldanzeige, zwischenspeicherxyvon, zwischenspeicherxynach = 0;
   var xvomanfang = '0';
   var yvomanfang = '0';
   var xvomschluss = '0';
   var yvomschluss = '0';
   var xdesrotenrahmens = '100';

   function SetToolTipPos(ttid, x, y)
   {
   document.getElementById(ttid).style.left = x + 'px';
   document.getElementById(ttid).style.top = y + 'px';
   }

   document.onmousemove = MouseTracking;
   function MouseTracking(evt)
   {

     mX = (window.event)? window.event.clientX : evt.pageX;
     mY = (window.event)? window.event.clientY : evt.pageY;


   //   if( xvomanfang != '0' && xvomschluss=='0')
   //   {
   //
   //   //xdesrotenrahmens= (mX - xvomanfang);
   //   //ydesrotenrahmens= xdesrotenrahmens*1.3;
   //   document.getElementById('selektierterbereich').innerHTML = \"<IMG SRC='./layoutbilder/durchsichtigesfeld.gif' WIDTH='\" + xdesrotenrahmens + \"' HEIGHT='\" + ydesrotenrahmens + \"' BORDER=1 style='border:1px solid #FF0000' onClick=\'mausklickposition();\'>\" ;
   //   }


   }


   function mausklickposition(neuegroesse)
   {


       if( neuegroesse=='plus')
       {
       xdesrotenrahmens = xdesrotenrahmens+5;
       }
	   if( neuegroesse=='minus')
       {
       xdesrotenrahmens = xdesrotenrahmens-5;
       }

       if( neuegroesse!='plus' && neuegroesse!='minus')
       {
       xvomanfang = mX;
       yvomanfang = mY;
       SetToolTipPos('selektierterbereich', mX, mY);
	   }



       //x-Wert wird aktuell gehalten
	   //xdesrotenrahmens= (mX - xvomanfang);
       ydesrotenrahmens= xdesrotenrahmens*1.3;

       document.getElementById('pixelausgabe').innerHTML = \"xxx\" + mX + \"yyy\" + mY ;
       document.getElementById('selektierterbereich').innerHTML = \"<IMG SRC='./layoutbilder/durchsichtigesfeld.gif' WIDTH='\" + xdesrotenrahmens + \"' HEIGHT='\" + ydesrotenrahmens + \"' BORDER=1 style='border:1px solid #FF0000' onClick=\'mausklickposition();\'>\" ;


       document.getElementById('linkdiv').innerHTML = \"<a href='./avataruploaden.php?nic=$nic&zz=$zz&avatarfuer=$avatarfuer&xvomanfang=\" + xvomanfang + \"&yvomanfang=\" + yvomanfang + \"&xdesrotenrahmens=\" + xdesrotenrahmens + \"&avatarid=$avatarid&avatarstatus=abspeichern'>[Selektion als Avatar abspeichern]</a>\" ;




   }

   //-->
   </script>";

   echo"<img border='0' name='avatarvorlage' src='./bilder/avatars/".$avatarid.".jpg' onClick=\"mausklickposition('xydesclicks');\"><br><br>";

   echo"<a onClick=\"mausklickposition('plus');\">[groesser]</a> Rahmen <a onClick=\"mausklickposition('minus');\">[kleiner]</a>";
   echo "<div id='linkdiv' >[Selektion als Avatar weiterleiten (inaktiv)]</div>";

}
if($avatarstatus=='abspeichern')
{

$xdesrotenrahmens=$xdesrotenrahmens;
$ydesrotenrahmens=$xdesrotenrahmens*1.3;

imagecopyresized ( "./bilder/avatars/".$avatarid.".jpg", "./user/$avatarfuer/profil/avatarbig.jpg", '0', '0', $xvomanfang, $yvomanfang, '240', '320', $xdesrotenrahmens, $ydesrotenrahmens );

echo"Avatar sollte gespeichert sein";
}



echo"</body>";



mein Problem befindet sich hier

PHP:
imagecopyresized ( "./bilder/avatars/".$avatarid.".jpg", "./user/$avatarfuer/profil/avatarbig.jpg", '0', '0', $xvomanfang, $yvomanfang, '240', '320', $xdesrotenrahmens, $ydesrotenrahmens );


ich habe auf http://www.php.net einige Beispiele gefundne...

z.B.
Imagepng($photoImage); // output to browser
Wo befindet sich hier alledings ein Speicherpfad? Des ist mir absolut unverstaendlich...

dann gibts noch weitere Funktionen:
imagecopymerge
imagecopymergegray
imagecopyresampled
imagecopyresized

da habe ich nicht wirklich einen Unterschied feststellen koennen...
Nun die Frage... Welche soll ich nehmen? gibts da nicht ne primitve Version, ohne dass man ein Bild "erstellen, bearbeiten, etc" muss... sondern einfach nur den Bildausschnit MIT einem Pfad wo anders abspeichern kann

hab die Suchfunktion hier bereits um Rat gebeten... naja...

dann mal vielen Dank im Voraus
 
Hallo du kannst nicht einfach eine Imagefunktion raussuchen und glauben die macht alles von alleine ;)
Du musst ein neues Bild generieren etwa so:
PHP:
$o_pfad = 'img/orig/'.$_FILES['userfile']['name'];
$t_pfad = 'img/thumb/'.$_FILES['userfile']['name'];
// JPG generieren
$source = ImageCreateFromJPEG($o_pfad);
$thumb = ImageCreateTrueColor($neueBreite,$neueHoehe);
ImageCopyResized($thumb,$source,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($thumb, $t_pfad, 100);  // Ausgabe bzw. speichern

mfg
 
Zurück