通過putpixel畫圓算法,效率不是很高

 
void circle1(int x,int y,double radius,int color) /*比一系統提供的效率要低些*/
{
   int i;
   double rx,ry;
   for(i=0;i<=450;i++) /* i的值得看分辨率和所畫圓的大小,最小值是90,不過這種情況基本不存在 */
   {
        rx=radius*cos(i/radius);
	 ry=radius*sin(i/radius);	
	 putpixel((int)(x-rx),(int)(y-ry),color);	 
	 putpixel((int)(x+rx),(int)(y-ry),color);
	 putpixel((int)(x-rx),(int)(y+ry),color);
	 putpixel((int)(x+rx),(int)(y+ry),color);
   }
}

發佈了30 篇原創文章 · 獲贊 4 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章