最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • php水印怎么在右下角

    正文概述 管理员   2024-08-21   122

    添加水印是在图片上加上一些标记的过程,可以用来保护图片的版权和身份,也可以用来美化图片。在 PHP 中,添加水印可以通过 GD 库来实现。

    要在图片右下角添加水印,可以按照以下步骤实现:

    1. 打开原始图片

    ```php

    $srcImg = imagecreatefrompng('path/to/src/image.png');

    2. 读取水印图片

    ```php

    $watermarkImg = imagecreatefrompng('path/to/watermark/image.png');

    3. 获取原始图片和水印图片的宽度和高度

    ```php

    $srcImgWidth = imagesx($srcImg);

    $srcImgHeight = imagesy($srcImg);

    $watermarkImgWidth = imagesx($watermarkImg);

    $watermarkImgHeight = imagesy($watermarkImg);

    4. 计算水印放置的位置

    右下角的位置可以通过原始图片的宽度和高度减去水印图片的宽度和高度得到:

    ```php

    $watermarkX = $srcImgWidth - $watermarkImgWidth;

    $watermarkY = $srcImgHeight - $watermarkImgHeight;

    5. 在原始图片上添加水印

    ```php

    imagecopy($srcImg, $watermarkImg, $watermarkX, $watermarkY, 0, 0, $watermarkImgWidth, $watermarkImgHeight);

    6. 保存添加水印后的图片

    ```php

    imagepng($srcImg, 'path/to/result/image.png');

    完整代码示例:

    ```php

    $srcImg = imagecreatefrompng('path/to/src/image.png');

    $watermarkImg = imagecreatefrompng('path/to/watermark/image.png');

    $srcImgWidth = imagesx($srcImg);

    $srcImgHeight = imagesy($srcImg);

    $watermarkImgWidth = imagesx($watermarkImg);

    $watermarkImgHeight = imagesy($watermarkImg);

    $watermarkX = $srcImgWidth - $watermarkImgWidth;

    $watermarkY = $srcImgHeight - $watermarkImgHeight;

    imagecopy($srcImg, $watermarkImg, $watermarkX, $watermarkY, 0, 0, $watermarkImgWidth, $watermarkImgHeight);

    imagepng($srcImg, 'path/to/result/image.png');

    需要注意的是,添加水印会改变原始图片的像素信息,如果想保留原始图片,请先备份原始图片。同时,如果要添加中文水印,需要使用字体文件,并进行相关的编码处理。

    PHP水印处理可以使用GD库,将图片打上水印。在右下角加上水印可以通过以下步骤实现:

    1. 打开原始图片,将其转化为GD库处理对象。

    ```php

    $sourceImg = imagecreatefromjpeg($imgUrl);

    2. 加载水印文字或图片。

    ```php

    $waterMark = imagecreatefrompng($watermarkUrl);

    3. 计算出水印位置,即右下角位置坐标。可以使用imagesx()函数得到原始图片宽度,imagesy()函数得到原始图片高度,再根据水印宽度和高度计算得到水印位置。

    ```php

    $positionX = imagesx($sourceImg) - imagesx($waterMark);

    $positionY = imagesy($sourceImg) - imagesy($waterMark);

    4. 将水印合成到原始图片中,使用imagecopy()函数将水印合成到原始图片指定位置。

    ```php

    imagecopy($sourceImg, $waterMark, $positionX, $positionY, 0, 0, imagesx($waterMark), imagesy($waterMark));

    5. 保存合成后的图片。

    ```php

    imagejpeg($sourceImg, $outputUrl, 80);

    完整的PHP水印函数如下:

    ```php

    function addWatermarkToImage($imgUrl, $watermarkUrl, $outputUrl) {

    // 打开原始图片

    $sourceImg = imagecreatefromjpeg($imgUrl);

    // 加载水印图片

    $waterMark = imagecreatefrompng($watermarkUrl);

    // 计算水印位置

    $positionX = imagesx($sourceImg) - imagesx($waterMark);

    $positionY = imagesy($sourceImg) - imagesy($waterMark);

    // 将水印合成到原始图片

    imagecopy($sourceImg, $waterMark, $positionX, $positionY, 0, 0, imagesx($waterMark), imagesy($waterMark));

    //保存合成后的图片

    imagejpeg($sourceImg, $outputUrl, 80);

    }

    调用函数:

    ```php

    $imgUrl = 'example.jpg';

    $watermarkUrl = 'watermark.png';

    $outputUrl = 'example_with_watermark.jpg';

    addWatermarkToImage($imgUrl, $watermarkUrl, $outputUrl);

    以上是在右下角加水印的方法,你也可以修改`$positionX`和`$positionY`计算方法来调整水印位置。


    站长源码网 » php水印怎么在右下角

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元