Я хочу погладить изображение и сохранить его. вот код, который я использую для него. Здесь он выводит изображение и сохраняет этот вывод в файл. Я хочу сохранить его, не выводя его.
// Load the stamp and the photo to apply the watermark to $stamp = imagecreatefrompng('stamp.png'); $im = imagecreatefromjpeg('proverbs.jpeg'); // Set the margins for the stamp and get the height/width of the stamp image $marge_right = 10; $marge_bottom = 10; $sx = imagesx($stamp); $sy = imagesy($stamp); // Copy the stamp image onto our photo using the margin offsets and the photo // width to calculate positioning of the stamp. imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp)); // Output and free memory header('Content-type: image/png'); ob_start(); // output jpeg (or any other chosen) format & quality imagejpeg($im, NULL, 85); // capture output to string $contents = ob_get_contents(); // end capture ob_end_clean(); //imagepng($im); imagedestroy($im); $fh = fopen("proverbs.jpeg", "w" ); fwrite( $fh, $contents ); fclose( $fh );
Сохранять его в файл?
Просто измените
imagejpeg($im, NULL, 85);
в
imagejpeg($im, 'image.jpg', 85);
Это код,
<?php header('content-type: image/jpeg'); $src = $_GET['src']; $path = pathinfo($src); $watermark = imagecreatefrompng('watermark.png'); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); if ($path['extension']=='png') $image = imagecreatefrompng($src); else if ($path['extension']=='jpg'||$path['extension']=='jpeg') $image = imagecreatefromjpeg($src); $size = getimagesize($_GET['src']); $dest_x = $size[0] - $watermark_width-10; $dest_y = $size[1] - $watermark_height-10; imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 50); imagejpeg($image); imagedestroy($image); imagedestroy($watermark); ?>
Подробнее здесь, водяной знак изображения в PHP