如何在图像上绘制垂直线在php
问题描述:
我制作了一张显示不同图片的抗体,并要求用户点击特定的图片。但是,我希望每次都对图片进行一些小的随机更改,以便软件无法分析和确定显示哪张图片...如何在图像上绘制垂直线在php
我想要添加一条水平线和一条垂直线随机坐标随机颜色到图片每次,然后使用get_file_contents和标题显示图片。
希望这是有道理的......我不想更改保存到图片,但只显示给用户...我使用的file_get_contents和页眉中显示的图片,就像这样:
$id = $_GET['id'];
$image = "images/".$id . ".jpg";
$content = file_get_contents($image);
header('Content-Type: image/jpeg');
echo $content;
exit()
谢谢...
答
内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);
?>
答
有这么多的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扩展](http://php.net/manual/de/book.image.php)即时修改输出。另请注意,只有一些线路不足以转移OCR机器人的验证码。 (只要您的网站足够模糊,并且没有人愿意适合您的表单域,它就可以用于您的案例。) – mario