Delfins Posted August 16, 2006 Report Share Posted August 16, 2006 JustToKnowHow (especially sliņķiem!): It ka jau manuālī ir rakstīts aptuvens risinājums, bet lai būtu 100% aizvietojums imagedashedline, tad risinājums ir šāds: 1.) taisam img ar imagecreatetruecolor() 2.) function mydashedline($img,$x1,$y1,$x2,$y2,$color) { $transparentColor = imagecolorallocatealpha($this->outputImg,0,0,0,127); $arr = Array($color,$color,$color,$color,$transparentColor,$transparentColor,$transparentColor,$transparentColor); imagesetstyle($img,$arr); imageline($img,$x1,$y1,$x2,$y2,IMG_COLOR_STYLED); } PS: vienkārši pats saskāros ar šo problēmu tikko, un pusdienu meklējot kļūdu algoritmā kāpēc tad nezīmē (nu f-jai tāc būtu jāzīme :)), ķeros aiz pēdējās salmiņads - google, kas mani aizvilka uz RTFM-komentiem... PPS: pluss ir tāds, ka var definēts savu patternu Dashed līnijai Link to comment Share on other sites More sharing options...
Stopp Posted August 17, 2006 Report Share Posted August 17, 2006 imagedashedline nekad nestrādā ? Link to comment Share on other sites More sharing options...
Delfins Posted August 18, 2006 Author Report Share Posted August 18, 2006 noteiktos leņķos... Izpildi kodu un pārliecinies pats... <?php function drawCircle($img, $radius, $origo_x, $origo_y, $pointColor) { $lastx = 0; $lasty = 0; for ($i=0;$i<=360;$i += 30) { $x = $origo_x + ($radius * sin(deg2rad($i))); $y = $origo_y - ($radius * cos(deg2rad($i))); if ($lastx) { imagedashedline($img, $x, $y, $lastx, $lasty, $pointColor); } $lastx = $x; $lasty = $y; } } $img = imagecreate(400,400); $bgColor = imagecolorallocate($img,100,100,100); $blueColor = imagecolorallocate($img,0xFF,0xFF,0xFF); drawCircle($img,150,200,200,$blueColor); header("Content-Type: image/png"); imagepng($img); ?> Link to comment Share on other sites More sharing options...
Recommended Posts