我的任务是我需要从一组 1000 张图像中提取一张图像,并根据 get 查询中传递的参数将其提供给用户。这很简单。另外,我被要求以这样的方式提供图像,即使每次都是同一个文件,图像文件的 sha1 哈希值也应该不同。
为此,我们可以在图像背景的随机位置添加随机像素。
有人可以告诉我如何使用 GD 库来实现这一点
我的任务是我需要从一组 1000 张图像中提取一张图像,并根据 get 查询中传递的参数将其提供给用户。这很简单。另外,我被要求以这样的方式提供图像,即使每次都是同一个文件,图像文件的 sha1 哈希值也应该不同。
为此,我们可以在图像背景的随机位置添加随机像素。
有人可以告诉我如何使用 GD 库来实现这一点
$img = imagecreatefrompng('your_image.png');
$red = imagecolorallocate($img, 255, 0, 0);
imagesetpixel($img, $x, $y, $red);
........
........
另一方面,为什么要在每个请求上更改图像的 sha1 哈希?
编辑:由于您想要一个透明像素,因此您将需要imagealphablending和类似的东西:
$img = imagecreatefrompng('your_image.png');
imagealphablending($img, false);
$transparent = imagecolorallocatealpha($img, 255, 255, 255, 127);
imagesetpixel($img, $x, $y, $transparent);
imagesavealpha($img, true);
imagepng($img, 'my_saved_file.png');