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

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Водяной знак для произвольного размера изображения в WordPress

Сообщение Anonymous »

Я использую код водяного знака для темы WordPress. Код работает нормально, но генерирует водяной знак для каждого загруженного изображения. Как я могу изменить свой код, чтобы не добавлять водяные знаки на некоторые размеры изображений?
У меня есть размер изображения, на котором мне не нужен водяной знак.
add_image_size( 'post-featured-image', 830, 323, true);

Это код моего водяного знака:
function add_watermark_to_image( $attachment_id ) {
$image_sizes = get_intermediate_image_sizes();
$watermark_attachment_id = 12916; // Replace with your watermark attachment ID

foreach ( $image_sizes as $size ) {
$image_path = get_attached_file( $attachment_id );
$watermark_path = get_attached_file( $watermark_attachment_id );

if ( $image_path && file_exists( $image_path ) && $watermark_path && file_exists( $watermark_path ) ) {
$image = imagecreatefromstring( file_get_contents( $image_path ) );
$watermark = imagecreatefrompng( $watermark_path );

if ( $image && $watermark ) {
list( $image_width, $image_height ) = getimagesize( $image_path );
list( $watermark_width, $watermark_height ) = getimagesize( $watermark_path );

// Set the position of the watermark (bottom right)
$dest_x = ($image_width - $watermark_width) / 2; // Center horizontally
$dest_y = ($image_height - $watermark_height) / 2; // Center vertically

imagecopy( $image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height );

// Save the watermarked image
imagejpeg( $image, $image_path );

imagedestroy( $image );
imagedestroy( $watermark );
} else {
error_log( 'Image or watermark creation failed for size: ' . $size );
}
} else {
error_log( 'Image or watermark not found for size: ' . $size );
}
}
}

add_action( 'add_attachment', 'add_watermark_to_image' );


Подробнее здесь: https://stackoverflow.com/questions/787 ... -wordpress
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»