在相对于php上的第二个图像的特定坐标中,将png/gif图像重叠在其他图像上


Overlapping an png/gif image over other image in a specific coordinate relative to the second image on php

我有一张背景图片(让我们称之为B),我想把另一张图片(红点gif或png)放在B上,放在B的特定坐标中。

例如,如果B是600x600px,Xcoor是300,Ycoor是三百,当用户加载php-sript时,B将在中心显示一个红点。谢谢你的帮助。

您可以轻松使用提供此类功能的图像库,例如基于PHP的GD2库的WideImage。

不透明度为30的合并到位置10的示例,10:

  $img = WideImage::load('pic.jpg');
  $watermark = WideImage::load('logo.jpg');
  $new = $img->merge($watermark, 10, 10, 30);
  $new->output('jpg', 90); // send to browser

请参见合并/水印和输出到浏览器示例。

要在图片上居中放置水印,可以使用Smart坐标。假设红色域图像是60x60像素,并且应该将其放在图像的中间:

 $new = $img->merge($watermark, '50% – 30', '50% – 30');

您可以使用CSS position属性在图像上定位点。如果position设置为"absolute",则元素将相对于其第一个定位的祖先进行定位。例如:

<?php
echo '
    <style>
    #mydiv {
        position: relative;
        margin: auto;
        display: block;
        width: 600px;
    }
    #dot {
        position: absolute;
        left: 300px;
        top: 300px;
    }
    </style>';
echo '<div id="mydiv">';
echo '<img id="myimg" src="myimage.jpg">';
echo '<img id="dot" src="dot.png">';
echo '</div>';
?>