php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack (3) Themen-Optionen Thema bewerten
Alt 13.04.2009, 07:42  
Benutzer
 
Registriert seit: 20.01.2009
Beiträge: 72
Kay654 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Bild mit wasserzeichen in vari größe

Hi!
Ich will ein Bild mit einem Wasserzeichen versehen. Wobei der Hintergrund soviel das Wasserzeichen in der größe variabel sein sollen.

Soweit habe ich es.

Aber wenn ich meine Sachen nun in ner schleife aufrufe, und dort z.B. die Bildgröße immer etwas erhöhe, so sind dann alle bilder so groß wie das letze in der schleife

Hier mal meine codes:
so rufe ich auf
PHP-Code:
<?php
for ( $x 1$x 5$x++ )
{
$a=$x*60+200;
echo 
$a;
echo
"<img src=script_wasserzeichen_hintergrundbild_grose_andern.php?datei=Wasserzeichbild.JPG&breit=".$a."&hoch=410>";
echo
"<img src=script_wasserzeichen_wasserbild_grose_andern.php?datei=kafer2bunt.gif&breit=55&hoch=54>";
echo
"<img src=script_wasserzeichen.php alt=bild border=0>";
echo
"<br>";
}
?>
meine wasserzeichen_hintergrundbild_grose_andern.php
PHP-Code:
<?php
$bildpfad
=$_GET['datei'];
$bildtyp   getimagesize($bildpfad);
if (
$bildtyp)
{
$bildbreite$bildtyp['0'];
$bildhoehe  $bildtyp['1'];
  if (
$_GET['breit'])
  {
    
$breit $_GET['breit'];
  }
  else
  {
    
$breit 200;
  }
  if (
$_GET['hoch'])
  {
    
$hoch $_GET['hoch'];
  }
  else
  {
    
$hoch  ceil($bildhoehe/($bildbreite/$breit));
  }
  if (
$_GET['quali'])
  {
    
$quali $_GET['quali'];
  }
  else
  {
    
$quali 50;
  }

  
$bildneu imagecreatetruecolor($breit,$hoch);

//Das in der größe veränderte Bild wird nicht angezeigt, sondern abgespeichert.

  
switch($bildtyp['2'])
  {
    case 
"1":
    
$altbildtmp imagecreatefromgif($bildpfad);
    
imagecopyresampled($bildneu,$altbildtmp,0,0,0,0,$breit,$hoch,$bildbreite,$bildhoehe);
    
header("Content-type: image/gif");
    
imagegif($bildneu,"hintergrund.gif",$quali);
    break;

    case 
"2":
    
$altbildtmp imagecreatefromjpeg($bildpfad);
    
imagecopyresampled($bildneu,$altbildtmp,0,0,0,0,$breit,$hoch,$bildbreite,$bildhoehe);
    
header("Content-type: image/jpeg");
    
imagejpeg($bildneu,"hintergrund.jpg",$quali);
    break;

    case 
"3":
    
$altbildtmp imagecreatefrompng($bildpfad);
    
imagecopyresampled($bildneu,$altbildtmp,0,0,0,0,$breit,$hoch,$bildbreite,$bildhoehe);
    
header("Content-type: image/png");
    
imagepng($bildneu,"hintergrund.png",$quali);
    break;
  }
}
?>
Meine wasserbild_grose_andern.php
PHP-Code:
<?php
$bildpfad
=$_GET['datei'];
$bildtyp   getimagesize($bildpfad);
if (
$bildtyp)
{
$bildbreite$bildtyp['0'];
$bildhoehe  $bildtyp['1'];
  if (
$_GET['breit'])
  {
    
$breit $_GET['breit'];
  }
  else
  {
    
$breit 200;
  }
  if (
$_GET['hoch'])
  {
    
$hoch $_GET['hoch'];
  }
  else
  {
    
$hoch  ceil($bildhoehe/($bildbreite/$breit));
  }
  if (
$_GET['quali'])
  {
    
$quali $_GET['quali'];
  }
  else
  {
    
$quali 50;
  }

  
$bildneu imagecreatetruecolor($breit,$hoch);
  
$altbildtmp imagecreatefromgif($bildpfad);
  
imagecopyresampled($bildneu,$altbildtmp,0,0,0,0,$breit,$hoch,$bildbreite,$bildhoehe);
  
$farbe_b imagecolorallocate $bildneu00);
  
imagecolortransparent $bildneu$farbe_b );
  
header("Content-type: image/gif");
  
imagegif($bildneu,"wasser.gif",$quali);
}
?>
Unt zuletzt mein wasserzeichnen.php
PHP-Code:
<?php
if ( file_exists 'hintergrund.jpg' ) )
{
  
$file 'hintergrund.jpg';
}
if ( 
file_exists 'hintergrund.gif' ) )
{
  
$file 'hintergrund.gif';
}
if ( 
file_exists 'hintergrund.png' ) )
{
  
$file 'hintergrund.png';
}

$size        getimagesize($file);
$width       $size[0];
$height      $size[1];

$old_picture imagecreatefromjpeg($file);
$new_picture imagecreatetruecolor($width$height);

imagecopyresampled($new_picture$old_picture0000$width$height$width$height);

// Wasserzeichen einbinden
$transition          40;
$watermarkfile       imagecreatefromgif('wasser.gif');
$waternarkpic_width  imagesx($watermarkfile);
$waternarkpic_height imagesy($watermarkfile);
$watermarkdest_x     $width - ($waternarkpic_width 2);
$watermarkdest_y     $height - ($waternarkpic_height 2);
imagecopymerge($new_picture$watermarkfile$watermarkdest_x$watermarkdest_y00$waternarkpic_width$waternarkpic_height$transition);

// Bild ausgeben
header('Content-type: image/jpeg');
imagejpeg($new_picture,'',100);
?>
Hoffe jemand weiß warum ich in meiner schleife immer die selbe größe gezeigt bekomme. Und wenn ich die größe von Hand ändere, wir das Bild erst nach der 2. Aktualisierung des Browsers so angezeigt.

thx
Kay654 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.04.2009, 10:52  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Bitte benutze die Forensuche, das Problem hatten wir schon mal.
PTC ist offline  
Alt 13.04.2009, 16:09  
Benutzer
 
Registriert seit: 20.01.2009
Beiträge: 72
Kay654 befindet sich auf einem aufstrebenden Ast
Standard

Hmm ich find da nichts Mein Problem besteht nicht darin ein wasserzeichen auf ein Bild zu machen.

Ich bekomme es nur nicht hin das ich Bild und wasserzeichen in der größe Varieren kann. Ich kann das natürlich im html code sagen mit w/h, aber bei 5MB Bildern ist das sinnfrei. Daher wil ich vorher komprimieren. Und das geht nicht ganz. Wenn ich meine Scrip einzeln aufruf mit definierter größe vom Hintergrundbild und Wasserzeichen kommt das erst nach 2x Aktualisieren (F5)?
Und in einer Schleife sind alle Bilder so groß wie das letzte in der Schleife???

Falls das Prob doch schonmal irgendow ist, bitte mal verlinken.
Ich habe es wirklich nicht gefunden
Kay654 ist offline  
Alt 13.04.2009, 16:25  
Benutzer
 
Registriert seit: 20.01.2009
Beiträge: 72
Kay654 befindet sich auf einem aufstrebenden Ast
Standard

Offenbar werden die scripte anders verarbeitet alls ich denke:
PHP-Code:
//1. Hintergrund in größe x bringen
//2. Wasserzeichen in größe x bringen
//3. Wasserzeich auf Hintergund bringen und anzeigen
echo'<img src=script_wasserzeichen_hintergrundbild_grose_andern.php?datei=Wasserzeichbild.JPG&breit=100&hoch=410>';
echo
'<img src=script_wasserzeichen_wasserbild_grose_andern.php?datei=kafer2bunt.gif&breit=55&hoch=54>';
echo
'<img src=script_wasserzeichen.php alt=bild border=0>'
Und wenn ich nun alls 4. Die erzeugten Bilder lösche wird der Punkt 3 (Anzeigen) nicht ausgeführt???
Bitte um hilfe

thx
Kay654 ist offline  
Alt 13.04.2009, 16:59  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Lass mal die Headerinformationen weg und führe das Skript so aus.
Das mit dem aktualisieren der Seite, könnte mit dem Cache zusammenhängen.

Das sieht nicht sauber aus:
PHP-Code:
<?php 
if ( file_exists 'hintergrund.jpg' ) ) 

  
$file 'hintergrund.jpg'

if ( 
file_exists 'hintergrund.gif' ) ) 

  
$file 'hintergrund.gif'

if ( 
file_exists 'hintergrund.png' ) ) 

  
$file 'hintergrund.png'
}
Warum überschreibst du die Variable mehrfach?
PTC ist offline  
Alt 13.04.2009, 21:02  
Benutzer
 
Registriert seit: 20.01.2009
Beiträge: 72
Kay654 befindet sich auf einem aufstrebenden Ast
Standard

Alls ich habe die headers raus genommen----geleicher Fehler. Und das mit den varis wollte ich noch machen aber da kahm der Fehler dazwischen

Wenn ich es so aufrufe
PHP-Code:
echo'<img src=script_wasserzeichen_hintergrundbild_grose_andern.php?datei=Wasserzeichbild.JPG&breit=100&hoch=410>';
echo
'<img src=script_wasserzeichen_wasserbild_grose_andern.php?datei=kafer2bunt.gif&breit=55&hoch=54>';
echo
'<img src=script_wasserzeichen.php alt=bild border=0>';
echo
'<br>';
echo
"<br>";
echo
'<img src=script_wasserzeichen_hintergrundbild_grose_andern.php?datei=Wasserzeichbild.JPG&breit=200&hoch=410>';
echo
'<img src=script_wasserzeichen_wasserbild_grose_andern.php?datei=kafer2bunt.gif&breit=55&hoch=54>';
echo
'<img src=script_wasserzeichen.php alt=bild border=0>';
echo
'<br>';
echo
"<br>";
echo
'<img src=script_wasserzeichen_hintergrundbild_grose_andern.php?datei=Wasserzeichbild.JPG&breit=300&hoch=410>';
echo
'<img src=script_wasserzeichen_wasserbild_grose_andern.php?datei=kafer2bunt.gif&breit=55&hoch=54>';
echo
'<img src=script_wasserzeichen.php alt=bild border=0>'
So sind alle Bilder 300!? Das verstehe ich nicht.
Kay654 ist offline  
Alt 14.04.2009, 00:08  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Kay654 Beitrag anzeigen
Offenbar werden die scripte anders verarbeitet alls ich denke:
PHP-Code:
//1. Hintergrund in größe x bringen
//2. Wasserzeichen in größe x bringen
//3. Wasserzeich auf Hintergund bringen und anzeigen
echo'<img src=script_wasserzeichen_hintergrundbild_grose_andern.php?datei=Wasserzeichbild.JPG&breit=100&hoch=410>';
echo
'<img src=script_wasserzeichen_wasserbild_grose_andern.php?datei=kafer2bunt.gif&breit=55&hoch=54>';
echo
'<img src=script_wasserzeichen.php alt=bild border=0>'
Und wenn ich nun alls 4. Die erzeugten Bilder lösche wird der Punkt 3 (Anzeigen) nicht ausgeführt???
Bitte um hilfe

thx
Was hat das mit der Scriptverarbeitung zu tun? Der Text wird ausgegeben. Fertig. Der Rest passiert im Browser. Insbesondere die Anzeige des Bildes passiert garantiert am Anderen Ende der Leitung.

Zum Fehler:
Du verwendest beim Aufruf von script_wasserzeichen.php keinerlei unterscheidbaren Parameter. Für den Browser ist das somit ein einziges Bild, das an 3 Stellen verwendet wird. Es gibt keinen Grund, warum der Browser die Datei mehr als einmal laden sollte. Es wäre sogar ausgesprochene Dummheit, wenn er es tun würde.

Auch beim Aufruf von script_wasserzeichen_wasserbild_grose_aendern gibt es eigentlich keinen Grund, das mehr als einmal aufzurufen.

Lediglich script_wasserzeichen_hintergrundbild_grose_andern. php wird mit unterschiedlichen Parametern aufgerufen. Ob Du Dir dabei noch die hintergrund.* Datei kaputt machst, hab ich mir jetzt nicht so genau angesehen. Scheinbar willst Du die Datei zwischen 2 Aufrufen verwenden. Da Scripte mehrmals gleichzeitig ausgeführt werden können, ist das keine gute Idee.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 14.04.2009, 08:19  
Benutzer
 
Registriert seit: 20.01.2009
Beiträge: 72
Kay654 befindet sich auf einem aufstrebenden Ast
Standard close

OMG
Fehler gelöst! Aufruf war falsch.
Nicht <img src=....
Sonder include ('....
Und schon ist alles varialbel^^
Kay654 ist offline  
Alt 14.04.2009, 14:22  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.253
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Bleibt noch ein anderer Fehler.

Bitte beachten: Anmerkungen zu Crosspostings

[MOD: Thread geschlossen]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 14.04.2009, 14:24  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Schon blöd, wenn hier im Forum die Trackbacks angezeigt werden.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

LinkBacks (?)
LinkBack to this Thread: http://www.php.de/php-tipps-2009/54068-erledigt-bild-mit-wasserzeichen-vari-groessye.html
Erstellt von For Type Datum
Bild erstellen (wasserzeichen) mit vari größe - Forum: phpforum.de This thread Refback 13.04.2009 09:14
Bild erstellen (wasserzeichen) mit vari größe - Forum: phpforum.de This thread Refback 13.04.2009 08:50
Bild erstellen (wasserzeichen) mit vari größe - Forum: phpforum.de This thread Refback 13.04.2009 08:25

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] PHP Wasserzeichen in Bild einfügen -&gt; Bild Schwarz! djscaleo PHP Tipps 2009 4 11.08.2009 03:43
Bild in enuem Fenster öffnen? K3HLIM JavaScript, Ajax und mehr 6 10.04.2009 20:43
[Erledigt] Wasserzeichen in einem Bild transparent machen Dintar1989 PHP Tipps 2008 1 15.12.2008 16:19
[Erledigt] Bild proportional verkleinern und mit Wasserzeichen überlegen CHRIS PHP-Fortgeschrittene 9 12.08.2008 13:50
Transparentes Bild über Bild legen *update gelöst* Broadcast PHP-Fortgeschrittene 11 04.02.2008 15:27
Wasserzeichen nixdorf HTML, Usability und Barrierefreiheit 0 22.10.2007 16:43
[Erledigt] Bild aus Datei in Bild einfügen PHP Tipps 2005-2 1 07.08.2005 23:36
[PHP«Image] Bild in ein anderes Bild einsetzen PHP Tipps 2005-2 4 07.08.2005 19:39
Bild auf größe zurechtschneiden PHP Tipps 2005 2 14.01.2005 19:42
[Erledigt] [JS]Neues Bild in neuem Fenster öffnen HTML, Usability und Barrierefreiheit 1 04.01.2005 11:39
bild mit wasserzeichen uploaden! Speicherproblem!! 18inch PHP Tipps 2004-2 4 18.12.2004 00:23
Bild will die größe nicht nehmen. PHP Tipps 2004-2 3 10.11.2004 13:56
bild größe ermitteln me PHP Tipps 2004 6 06.10.2004 15:53
Bild größe hat prob mit umbenennung. JEGO PHP Tipps 2004 1 08.07.2004 16:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
wasserzeichen proportional zum bild, php echo \<img src=\' mit bild größe, wasserzeichen für variable bildgrößen, php bilder mit wasserzeichen versehen, htmlcode wasserzeichen für bilder, php bild mit wasserzeichen versehen, auf bildgröße wasserzeichen, php bild mit wasserzeichen erstellen, php länge einer vari, wasserzeichen mit bild und datum php, php wasserzeichen auf hintergrundbild, wasserzeichen für bilder variabler grösse, wasserzeichen je nach bildgrösse php, php wasserzeichen immer auf die größe des ziel bildes, wasserzeichen auf gif php, php bildgröße wasserzeichen uploaden, php bildgröße wasserzeichen script, html code wasserzeichen hintergrund, wasser bild gif header

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum