Bild in bild text lesen

  • Bild in bild text lesen

    Hi

    Ich möchte via upload ein service realisieren nur klappt es nicht;(
    Und zwar ein upload wenn ein user bild x hochläd (das klappt)
    soll sich ein bild y drüber legen was an bestimten stellen transparent ist (klappt bedingt)

    Mein Code:

    PHP-Quellcode

    1. [syntax="php"]<b>Upload</b>
    2. <?php
    3. function watermark($image, $watermark, $save_as, $position=5, $transparency=50, $t_x=0, $t_y=0) {
    4. // erlaubt sind png und jpeg
    5. if($position < 1 || $position > 9)
    6. return FALSE;
    7. if(!file_exists($image) || !file_exists($watermark))
    8. return FALSE;
    9. $infos_img = getimagesize($image);
    10. $infos_wat = getimagesize($watermark);
    11. if(!in_array($infos_img[2], array(2,3)) || !in_array($infos_wat[2], array(2,3)))
    12. return FALSE;
    13. if($infos_img[0]<$infos_wat[0] || $infos_img[1]<$infos_wat[1])
    14. return FALSE;
    15. if($infos_wat[0]<$t_x || $infos_wat[1]<$t_y)
    16. return FALSE;
    17. $transparency = 100 - $transparency;
    18. if($transpareny < 0 || $transpareny > 100)
    19. return FALSE;
    20. // Position x
    21. switch (($position-1)%3) {
    22. case 0:
    23. $pos_x = 0;
    24. break;
    25. case 1:
    26. $pos_x = round(($infos_img[0]-$infos_wat[0])/2, 0);
    27. break;
    28. case 2:
    29. $pos_x = $infos_img[0]-$infos_wat[0];
    30. break;
    31. }
    32. // Position y
    33. switch (floor(($position-1)/3)) {
    34. case 0:
    35. $pos_y = 0;
    36. break;
    37. case 1:
    38. $pos_y = round(($infos_img[1]-$infos_wat[1])/2, 0);
    39. break;
    40. case 2:
    41. $pos_y = $infos_img[1]-$infos_wat[1];
    42. break;
    43. }
    44. // watermark-procedure
    45. if($infos_img[2] == 2)
    46. $img_image = imagecreatefromjpeg($image);
    47. if($infos_img[2] == 3)
    48. $img_image = imagecreatefrompng($image);
    49. if($infos_wat[2] == 2)
    50. $img_watermark = imagecreatefromjpeg($watermark);
    51. if($infos_wat[2] == 3)
    52. $img_watermark = imagecreatefrompng($watermark);
    53. imagealphablending($img_image, TRUE);
    54. imagealphablending($img_watermark, TRUE);
    55. imagecolortransparent($img_watermark, imagecolorat($img_watermark, $t_x, $t_y));
    56. imagecopymerge($img_image, $img_watermark, $pos_x, $pos_y, 0, 0, $infos_wat[0], $infos_wat[1], $transparency);
    57. if(strtolower(substr($save_as, -3)) == "png") {
    58. if(imagepng($img_image, $save_as))
    59. return TRUE;
    60. else
    61. return FALSE;
    62. } else {
    63. if(imagejpeg($img_image, $save_as))
    64. return TRUE;
    65. else
    66. return FALSE;
    67. }
    68. return FALSE;
    69. }
    70. if ($_POST['step'] == "upload")
    71. {
    72. if ($_FILES['datei']['error'])
    73. {
    74. $error = "<p>Folgende(r) Fehler ist aufgetreten:</p>";
    75. $error .= "<li>Allgemeiner Fehler</li>";
    76. }
    77. if ($_FILES['datei']['size'] > 1000000)
    78. {
    79. $error = "<p>Folgende(r) Fehler ist aufgetreten:</p>";
    80. $error .= "<li>Datei zu groß</li>";
    81. }
    82. if(isset($error))
    83. {
    84. echo $error;
    85. }
    86. else
    87. {
    88. $dir = 'uploads';
    89. $filename = $_FILES['datei']['name'];
    90. move_uploaded_file($_FILES['datei']['tmp_name'], $dir."/".$filename);
    91. print"<p>Upload erfolgreich!</p>$filename<br><img src=$dir/$filename width=100 height=100>";
    92. if(watermark("$dir/$filename", "$dir/brand.png", "$dir/$filename", 1))
    93. echo "<img src=\"$dir/$filename\">
    94. ";
    95. }
    96. }
    97. else
    98. {
    99. print'<p>Datei wählen:</p>
    100. <form action="up.php?action=upload" method="post" enctype="multipart/form-data">
    101. <input type="file" name="datei">
    102. <input type="hidden" name="step" value="upload"><br><br>
    103. <input type="submit" value="Datei hochladen">
    104. </form>
    105. ';
    106. }
    107. ?>[/syntax]
    Alles anzeigen


    Das Bild x müsste auch an der position bei bild y wo die transparenz ist

    Wer kann mir helfen?

    Das habe ich schon...

    [Blockierte Grafik: http://gen.gs-dienstleistungen.de/pictexte/uploads/0ea5fe858d.jpg]