0

我正在制作一个显示不同图片的反机器人,并要求用户单击特定图片。但是,我希望每次对图片进行一些小的随机更改,以便软件无法分析和确定正在显示的图片...

我希望每次在随机坐标处添加一条水平线和一条垂直线,颜色随机到图片中,然后使用 get_file_contents 和标题显示图片。

希望这是有道理的...我不希望将更改保存到图片中,而只显示给用户...我正在使用 file_get_contents 和 header 来显示图片,如下所示:

$id = $_GET['id'];
$image = "images/".$id . ".jpg";
$content = file_get_contents($image); 
header('Content-Type: image/jpeg');
echo $content;
exit()

谢谢...

4

2 回答 2

0

有很多PHP GD 函数可用于实现这一点,我认为下面的代码片段可能会对您有所帮助

<?php

$im = imagecreatefrompng("images/yourImage.png");
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Draw a vertical dashed line
imagedashedline($im, 50, 25, 50, 75, $white);

// Save the image
imagepng($im, './imagewithdashedline.png');
imagedestroy($im);
?>

参考PHP GD imagedashedline 函数

于 2013-04-13T12:31:15.813 回答
0

在 PHP 中使用 GD 将允许您执行此操作

http://php.net/manual/en/book.image.php

创建一个名为 image.php 的文件

从 php 手册:

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);

?>

您可以使用 imageline 函数添加一条线

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imageline($im, $x1, $y1, $x2, $y2, $orange);
imagepng($im);
imagedestroy($im);

?>
于 2013-04-13T12:27:51.830 回答