如何在PHP中的图像上绘制一条垂直线

时间:2013-04-13 12:20:04

标签: php line draw image

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

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

希望这有意义......我不希望将更改保存到图片中,但只显示给用户...我使用file_get_contents和header来显示图片,如下所示:

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

...谢谢

2 个答案:

答案 0 :(得分: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);

?>

您可以使用图像线功能

添加一条线
<?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);

?>

答案 1 :(得分:0)

我认为下面有很多PHP GD functions available to achive this 代码段可以帮助你

<?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 function

相关问题