請教 如何將此PHP程式改成JAVA Applet

edited 十月 2013 in 其他
<?php
//利用truecolor建立一張500x500大小的圖
$im = imagecreatetruecolor(500,500);
//$bgcolor = ImageColorAllocate ($im, Red(0~255), Green(0~255), Blue(0~255));
//(255,255,255)=白色,(0,0,0)=黑色,(255,0,0)=紅色...
$bgcolor = ImageColorAllocate ($im, 0, 0, 0);
$red = ImageColorAllocate($im, 255, 0, 0);
gear($im,200,200, 100, 20, $red);
//建立png圖像
imagepng($im,"gear.png");
//釋出繪圖所使用的記憶體
imagedestroy($im);

function gear($im,$midx,$midy,$rp,$n,$color)
{
$imax=15;
$i=0;
$j=0;
/*
double a,d,dr,ra,rb,rd,r,theta;
double ang,ang2,sigma,alpha;
double xpt,ypt,xd,yd,lxd,lyd,num;
double lfx,lfy,rfx,rfy;
*/
imageline($im,$midx,$midy,$midx,$midy-$rp,$color);
$a=2*$rp/$n;
$d=2.5*$rp/$n;
$ra=$rp+$a;
$rb=$rp*cos(20*$deg);
$rd=$rp-$d;
$dr=($ra-$rb)/$imax;
$num=$n;
$sigma=3.14159/(2*$num)+tan(20*$deg)-20*$deg;

for($j=0;$j<$n;$j++)
{

$ang=-2.*$j*3.14159/$num+$sigma;
$ang2=2.*$j*3.14159/$num+$sigma;
$lxd=$midx+$rd*sin($ang2-2.*3.14159/$num);
$lyd=$midy-$rd*cos($ang2-2.*3.14159/$num);
for($i=0;$i<=$imax;$i++)
{
$r=$rb+$i*$dr;
$theta=sqrt(($r*$r)/($rb*$rb)-1.);
$alpha=$theta-atan($theta);
$xpt=$r*sin($alpha-$ang);
$ypt=$r*cos($alpha-$ang);
$xd=$rd*sin(-$ang);
$yd=$rd*cos(-$ang);
if($i==0)
{
imageline($im,($midx+$xpt),($midy-$ypt),($midx+$xd),($midy-$yd),$color);
//moveto((int)(midx+xpt),(int)(midy-ypt));
}
imageline($im,($midx+$xpt),($midy-$ypt),($midx+$xpt),($midy-$ypt),$color);
if($i==$imax)
{
$lfx=$midx+$xpt;
$lfy=$midy-$ypt;
}
}
/*the line from last end of dedendum point to the recent
end of dedendum point*/
imageline($im,$lxd,$lyd,($midx+$xd),($midy-$yd),$color);

for($i=0;$i<=$imax;$i++)
{
$r=$rb+$i*$dr;
$theta=sqrt(($r*$r)/($rb*$rb)-1.);
$alpha=$theta-atan($theta);
$xpt=$r*sin($ang2-$alpha);
$ypt=$r*cos($ang2-$alpha);
$xd=$rd*sin($ang2);
$yd=$rd*cos($ang2);
if($i==0)
{
imageline($im,($midx+$xpt),($midy-$ypt),($midx+$xd),($midy-$yd),$color);
//moveto((int)(midx+xpt),(int)(midy-ypt));
}
imageline($im,($midx+$xpt),($midy-$ypt),($midx+$xpt),($midy-$ypt),$color);
if($i==$imax)
{
$rfx=$midx+$xpt;
$rfy=$midy-$ypt;
}
}
imageline($im,$lfx,$lfy,$rfx,$rfy,$color);
}
}

課程需求 請知道的大大 可以幫我解答一下 或者 煩請告知方法 感謝

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=6033

評論

Sign In or Register to comment.