Водяной знак на опубликованном изображении

0

Итак, на этом сайте администратор отправляет изображение, прежде чем он будет отправлен в базу данных через sql. Я хочу добавить водяной знак. Это мой код для этой части.

  if(!$_POST['name'] | !$_POST['cat'] | !$_POST['frame'] | !$_POST['molding'] | !$_POST['price'] | $_FILES["photo"]["tmp_name"]) {

    die('You did not fill in a required field.');

    }

$image = file_get_contents($_FILES['photo']['tmp_name']);
$_POST['name'] = addslashes($_POST['name']);
$_POST['price'] = addslashes($_POST['price']);
$_POST['molding'] = addslashes($_POST['molding']);
$_POST['frame'] = addslashes($_POST['frame']);
$_POST['cat'] = addslashes($_POST['cat']);



// Load the stamp and the photo to apply the watermark to

$stamp = imagecreatefrompng('watermark2.PNG');

$save_watermark_photo_address = 'watermark_photo2.jpg';

// Set the margins for the stamp and get the height/width of the stamp image

$marge_right = 0;
$marge_bottom = 0;
$sx = imagesx($stamp);
$sy = imagesy($stamp);


$imgx = imagesx($image);
$imgy = imagesy($image);
$centerX=round($imgx/2) - ($sx/2);
$centerY=round($imgy/2) - ($sy/2);
// Copy the stamp image onto our photo using the margin offsets and the photo 
// width to calculate positioning of the stamp. 

imagecopy($image, $stamp, $centerX, $centerY, 0, 0, imagesx($stamp), imagesy($stamp));


// Output and free memory
//header('Content-type: image/png');

imagejpeg($image, $save_watermark_photo_address, 80);

Сохранить часть в конце было проверить.

Все, что использует $ image, появляется с ошибкой, ожидающей, что параметр 1 будет ресурсом, указанным в строке.

Я думаю, что это означает, что формат изображений неправильный, но я понятия не имею, как его исправить.

Для любой информации, прежде чем я добавил код водяного знака, все работает отлично.

Теги:
watermark

1 ответ

0

для более подробного пояснения, вы можете использовать это

старый холод:

$image = file_get_contents($_FILES['photo']['tmp_name']);

новый код:

$imgData= file_get_contents($_FILES['photo']['tmp_name']);
$image = imagecreatefromstring( $imgData);

это пояснение моего комментария выше.

  • 0
    ох, жаль слышать, что, если этот пост исправил исходную проблему (создание водяного знака), пожалуйста, отметьте как Ответ
  • 0
    Ну, у меня теперь есть новая проблема. Я добавил водяной знак, но теперь он мне нужен в исходном формате, когда я сделал file_get_contents (), чтобы поместить его в мою базу данных как BLOB. Есть идеи, как это сделать? Я пробовал несколько методов.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню