如何在PHP中绘制带有虚线边框的圆?

发布于 2024-11-05 04:51:31 字数 68 浏览 0 评论 0原文

我想画一个带有虚线边框的圆。 imagearc 函数可用于简单的边框。但我对虚线边框没有任何办法。

谢谢。

I want to draw a circle with dashed border. imagearc function can be used for simple border. But I don't get any way for dashed border.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与君绝 2024-11-12 04:51:31

这是

<?php 
function dashedcircle($im, $cx, $cy, $radius, $colour, $dashsize=5) { 

   $dash=false; 
   for ($angle=0; $angle<=(180+$dashsize); $angle+=$dashsize) { 
      $x = ($radius * cos(deg2rad($angle))); 
      $y = ($radius * sin(deg2rad($angle))); 

      if ($dash) { 
         imageline($im, $cx+$px, $cy+$py, $cx+$x, $cy+$y, $colour); 
         imageline($im, $cx-$px, $cx-$py, $cx-$x, $cy-$y, $colour); 
      } 
      $dash=!$dash; 
      $px=$x; 
      $py=$y; 
   } 
} 
?>

绘制虚线圆的另一种方法。享受吧!

<?php

header("Content-type: image/jpeg");
$im = imagecreate(100,100);

$b   = imagecolorallocate ($im, 0, 0, 0);
$w   = imagecolorallocate ($im, 255, 255, 255);

$style = array ($b,$b,$b,$b,$b,$w,$w,$w,$w,$w);

imagesetstyle ($im, $style);

imagearc($im,50,50,100,100,0,360,IMG_COLOR_STYLED);

imagejpeg($im);
imagedestroy($im);
?>

参考

here it is

<?php 
function dashedcircle($im, $cx, $cy, $radius, $colour, $dashsize=5) { 

   $dash=false; 
   for ($angle=0; $angle<=(180+$dashsize); $angle+=$dashsize) { 
      $x = ($radius * cos(deg2rad($angle))); 
      $y = ($radius * sin(deg2rad($angle))); 

      if ($dash) { 
         imageline($im, $cx+$px, $cy+$py, $cx+$x, $cy+$y, $colour); 
         imageline($im, $cx-$px, $cx-$py, $cx-$x, $cy-$y, $colour); 
      } 
      $dash=!$dash; 
      $px=$x; 
      $py=$y; 
   } 
} 
?>

one more way of drawing a dashed-line circle.enjoy!

<?php

header("Content-type: image/jpeg");
$im = imagecreate(100,100);

$b   = imagecolorallocate ($im, 0, 0, 0);
$w   = imagecolorallocate ($im, 255, 255, 255);

$style = array ($b,$b,$b,$b,$b,$w,$w,$w,$w,$w);

imagesetstyle ($im, $style);

imagearc($im,50,50,100,100,0,360,IMG_COLOR_STYLED);

imagejpeg($im);
imagedestroy($im);
?>

Reference

提笔书几行 2024-11-12 04:51:31

这是我用来执行此操作的代码。

<?php
$thick = 10;
// create a 200*200 image
$img = imagecreatetruecolor(200, 200);

// Add antialias
imageantialias ($img, true);

// allocate some colors
$white = imagecolorallocate($img, 255, 255, 255);

// draw the dashed circle

for($t = 1;$t<($thick+1);$t++) {
    for($i = 0;$i<360;$i+=10) {
        imagearc($img, 100, 100, 200-($t/5), 200-($t/5),  $i, $i+5, $white);
        imagearc($img, 100, 100, 200+($t/5), 200+($t/5),  $i, $i+5, $white);
    }
}

// output image in the browser
header("Content-type: image/png");
imagepng($img);

// free memory
imagedestroy($img);
?>

Here is the code I used to do it.

<?php
$thick = 10;
// create a 200*200 image
$img = imagecreatetruecolor(200, 200);

// Add antialias
imageantialias ($img, true);

// allocate some colors
$white = imagecolorallocate($img, 255, 255, 255);

// draw the dashed circle

for($t = 1;$t<($thick+1);$t++) {
    for($i = 0;$i<360;$i+=10) {
        imagearc($img, 100, 100, 200-($t/5), 200-($t/5),  $i, $i+5, $white);
        imagearc($img, 100, 100, 200+($t/5), 200+($t/5),  $i, $i+5, $white);
    }
}

// output image in the browser
header("Content-type: image/png");
imagepng($img);

// free memory
imagedestroy($img);
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文