我有一个问题..有一些图片,像这样:
我想为这个雷达图像添加新的分辨率、背景和更好的质量(抗锯齿)。如何使用 PHP 脚本从此图像中获取雷达详细信息?
我已经有了这段代码,但输出不是最好的:S 你可以在这里看到:
<?
$im = imagecreatefromjpeg('a.jpg');
$f1 = imagecolorallocate($im, 39, 78, 231);
$a = imagecreatetruecolor ( 520, 370 );
$red = imagecolorallocate($a, 39,78,231);
for($x =130;$x<520;$x++)
{
for($y = 130; $y<370;$y++)
{
$rgb = imagecolorat($im, $x, $y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$red = imagecolorallocate($a, $r,$g,$b);
//echo $r.$ g.$b."|";
if( ($r < 100 && $r > 0) && ($g < 150 && $g > 0) && ($b < 255 && $b > 150))
imagesetpixel($a, $x, $y, $red);
if( ($r < 100 && $r > 0) && ($g < 255 && $g > 130) && ($b < 255 && $b > 0))
imagesetpixel($a, $x, $y, $red);
if( ($r < 200 && $r > 100) && ($g < 255 && $g > 180) && ($b < 80 && $b > 0))
imagesetpixel($a, $x, $y, $red);
if( ($r < 255 && $r > 0) && ($g < 255 && $g > 0) && ($b < 50 && $b > 0))
imagesetpixel($a, $x, $y, $red);
if( ($r < 255 && $r > 200) && ($g < 255 && $g > 70) && ($b < 70 && $b > 0))
imagesetpixel($a, $x, $y, $red);
if( ($r < 255 && $r > 200) && ($g < 100 && $g > 0) && ($b < 70 && $b > 0))
imagesetpixel($a, $x, $y, $red);
if( ($r < 120 && $r > 0) && ($g < 50 && $g > 0) && ($b < 50 && $b > 0))
imagesetpixel($a, $x, $y, $red);
}
}
//$rgb = imagecolorat($im, 550, 465);
//$r = ($rgb >> 16) & 0xFF;
//$g = ($rgb >> 8) & 0xFF;
//$b = $rgb & 0xFF;
//echo "$r $g $b";
header('Content-Type: image/png');
imagepng($a);
?>