Hallo,
habe mir ein kleines Uploadscript programmiert, das ein watermark aus einer Datei einfügt. Nun habe ich folgendes Problem:
der Hintergrund des watermarks ist transparent, wird er aber auf dem Bild eingefügt, ist der Hintergrund auf einmal grau! Woran kann die liegen?
Hier der Code:
Danke für eure Hilfe!
habe mir ein kleines Uploadscript programmiert, das ein watermark aus einer Datei einfügt. Nun habe ich folgendes Problem:
der Hintergrund des watermarks ist transparent, wird er aber auf dem Bild eingefügt, ist der Hintergrund auf einmal grau! Woran kann die liegen?
Hier der Code:
PHP-Code:
<html>
<head>
<title>Dateiupload</title>
</head>
<body>
<h3><font color="#FF0000"><em><strong>Wieviele Dateien willste hochladen?</strong></em></font></h3>
<p><font color="#000000"></font></p>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" >
<select name="numfiles" size="1">
<option value="1">1 Datei
<option value="2">2 Dateien
<option value="3">3 Dateien
<option value="4">4 Dateien
<option value="5">5 Dateien
<option value="6">6 Dateien
<option value="7">7 Dateien
<option value="8">8 Dateien
<option value="9">9 Dateien
<option value="10">10 Dateien
<option value="11">11 Dateien
<option value="12">12 Dateien
<option value="13">13 Dateien
<option value="14">14 Dateien
<option value="15">15 Dateien
<option value="16">16 Dateien
<option value="17">17 Dateien
<option value="18">18 Dateien
<option value="19">19 Dateien
<option value="20">20 Dateien
</select>
<input type="Submit" value="Anzahl festlegen" name="regnum">
</form>
<form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<?php
if (isset($regnum))
{
echo "<b>$numfiles</b>";
echo $numfiles == '1' ? ' Datei kann' : ' Dateien können';
echo ' hochgeladen werden:<p>';
for ($i=1; $i<=$numfiles; $i++)
{
echo "<input type=\"File\" name=\"myfile$i\"><br />\n";
}
echo '<p>';
echo '<input type="Submit" name="sendfiles" value="Dateien senden">';
}
if (isset($sendfiles))
{
$numsendfiles = count($HTTP_POST_FILES);
echo "<b>$numsendfiles</b> ";
echo $numsendfiles == 1 ? 'Datei' : 'Dateien';
echo $numsendfiles == 1 ? ' wurde gesendet.' : ' wurden gesendet.';
foreach($HTTP_POST_FILES as $strFieldName => $arrPostFiles)
{
if ($arrPostFiles['size'] > 0)
{
$strFileName = $arrPostFiles['name'];
$intFileSize = $arrPostFiles['size'];
$strFileMIME = $arrPostFiles['type'];
$strFileTemp = $arrPostFiles['tmp_name'];
$newimage = @imagecreatefromjpeg($strFileTemp);
$watermark = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($strFileTemp);
$size = getimagesize($strFileTemp);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0,
$watermark_width, $watermark_height, 100);
imagejpeg($image, 'neu/'.$strFileName);
imagedestroy($image);
imagedestroy($watermark);
echo '<img src="neu/'.$strFileName.'" alt="" />';
echo "Datei <b>$strFileName</b> erfolgreich hochgeladen:";
echo "<ul>";
echo "<li>Grösse: $intFileSize Bytes<br />";
echo "<li>MIME: $strFileMIME<br />";
echo "</ul>";
} /* end if */
} /*end foreach */
}
?>
</form>
</body>
</html>
Kommentar