rendered paste body<?php
function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
if ($thick == 1) {
return imageline($image, $x1, $y1, $x2, $y2, $color);
}
$t = $thick / 2 - 0.5;
if ($x1 == $x2 || $y1 == $y2) {
return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
}
$k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
$a = $t / sqrt(1 + pow($k, 2));
$points = array(
round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
);
imagefilledpolygon($image, $points, 4, $color);
return imagepolygon($image, $points, 4, $color);
}
$size = 500;
$image = imagecreate($size,$size);
$bg = imagecolorallocate($image, 255, 200, 0);
$green = imagecolorallocate($image, 0, 255, 0);
$red = imagecolorallocate($image,255,0,0);
$black = imagecolorallocate($image,0,0,0);
$white = imagecolorallocate($image,255,255,255);
for($v = 0;$v <= $size;$v = $v + $size/10) {
imagelinethick($image,$v,0,$v,$size,$black,$thick = 1);
imagelinethick($image,$size,$v,0,$v,$black,$thick = 1);
}
for($q = 0;$q <= $size;$q = $q + $size/10) {
imagelinethick($image,$q,0,$q,$size,$black,$thick = 1);
imagelinethick($image,$size,$q,0,$q,$black,$thick = 1);
}
/*
for($z = 0;$z <= $size;$z = $z + ($size/100)) {
imagelinethick($image,$z,0,$z,$size,$black,$thick = 1);
imagelinethick($image,$size,$z,0,$z,$black,$thick = 1);
}
for($q = 0;$q <= $size;$q = $q + ($size/100)) {
imagelinethick($image,$q,0,$q,$size,$black,$thick = 1);
imagelinethick($image,$size,$q,0,$q,$black,$thick = 1);
}
*/
/* public void circleSym4(int xCenter, int yCenter, int radius, Color c)
{
int pix = c.getRGB();
int x, y, r2;
r2 = radius * radius;
raster.setPixel(pix, xCenter, yCenter + radius);
raster.setPixel(pix, xCenter, yCenter - radius);
for (x = 1; x <= radius; x++) {
y = (int) (Math.sqrt(r2 - x*x) + 0.5);
raster.setPixel(pix, xCenter + x, yCenter + y);
raster.setPixel(pix, xCenter + x, yCenter - y);
raster.setPixel(pix, xCenter - x, yCenter + y);
raster.setPixel(pix, xCenter - x, yCenter - y);
}
}
*/
$center = $size/2;
$radius = 50;
$r2 = $radius * $radius;
if($_GET['a'] == "draw_image") {
header("Content-type: image/jpg");
for($x = 0; $x <= $radius;$x++) {
$y = sqrt($r2 - $x*$x) + 0.5;
imagelinethick($image,$center+$x,$center+$y,$center+$x,$center+$y,$black,$thick = 5);
imagelinethick($image,$center+$x,$center-$y,$center+$x,$center-$y,$black,$thick = 5);
imagelinethick($image,$center-$x,$center+$y,$center-$x,$center+$y,$black,$thick = 5);
imagelinethick($image,$center-$x,$center-$y,$center-$x,$center-$y,$black,$thick = 5);
}
imagelinethick($image,$center,$center+$radius,$center,$center+$radius,$black,$thick = 5);
imagelinethick($image,$center,$center-$radius,$center,$center-$radius,$black,$thick = 5);
imagelinethick($image,$center,$center,$center,$center,$black,$thick = 5);
imagejpeg($image);
}
else {
echo "<br>$center<br>";
echo '<img src="?a=draw_image">';
}
?>