c程序画圆

#include

#include <math.h>

int main()
{
	int x, m;
	double y;
	for (y = 10; y >= -10; y--)  //圆的半径为10
	{
		m = 2.2*sqrt(100 - y * y);   //计算行y对应的列坐标m,2.2为屏幕纵横比调节系数,屏幕的行距大于列距,不调节会是椭圆
		for (x = 1; x < 30 - m; x++)
		{
			printf(" ");   //图形左侧空白控制
		}
		printf("*");  //圆的左侧
		for (; x < 30 + m; x++)
		{
			printf(" ");
		}
		printf("*\n");  //圆的右侧
	}
	return 0;
}

### 微信小程序中实现画圆的功能 在微信小程序中,可以通过 `canvas` 组件来绘制圆形。以下是实现的具体方法和代码示例: #### 1. 使用 `canvas` 绘制圆形 通过调用 `wx.createCanvasContext` 方法创建一个 Canvas 上下文对象,并使用 `arc` 方法绘制圆形。以下是一个完整的代码示例[^3]: ```html <!-- WXML --> <view class="container"> <canvas canvas-id="myCanvas" style="width: 300px; height: 300px;"></canvas> </view> ``` ```javascript // JS Page({ onReady: function () { const ctx = wx.createCanvasContext('myCanvas'); // 创建 Canvas 上下文对象 // 开始绘制路径 ctx.beginPath(); ctx.arc(150, 150, 100, 0, 2 * Math.PI); // 定义一个以 (150, 150) 为中心、半径为 100 的圆形 ctx.setFillStyle('blue'); // 设置填充颜色为蓝色 ctx.fill(); // 填充圆形 // 添加边框 ctx.setStrokeStyle('black'); // 设置边框颜色为黑色 ctx.stroke(); // 绘制圆形边框 ctx.draw(); // 将绘制的内容显示到 Canvas 上 } }); ``` 上述代码展示了如何通过 `arc` 方法定义一个圆形,并使用 `fill` 和 `stroke` 方法分别填充颜色和绘制边框。 #### 2. 自定义圆形属性 可以调整圆形的中心点坐标、半径、颜色等属性。例如,改变圆形的颜色和大小[^3]: ```javascript ctx.setFillStyle('red'); // 设置填充颜色为红色 ctx.setStrokeStyle('green'); // 设置边框颜色为绿色 ctx.arc(200, 200, 50, 0, 2 * Math.PI); // 定义一个以 (200, 200) 为中心、半径为 50 的圆形 ``` #### 3. 绘制多个圆形 如果需要在同一 Canvas 中绘制多个圆形,可以多次调用 `arc` 方法并分别设置不同的属性: ```javascript ctx.beginPath(); ctx.arc(100, 100, 50, 0, 2 * Math.PI); // 第一个圆形 ctx.setFillStyle('blue'); ctx.fill(); ctx.beginPath(); ctx.arc(200, 100, 50, 0, 2 * Math.PI); // 第二个圆形 ctx.setFillStyle('yellow'); ctx.fill(); ctx.draw(); ``` #### 4. 动态更新圆形 如果需要动态更新圆形的属性,可以在用户交互事件中重新绘制 Canvas。例如,在按钮点击事件中改变圆形的颜色: ```javascript Page({ data: { fillColor: 'blue' }, changeColor: function () { this.setData({ fillColor: this.data.fillColor === 'blue' ? 'red' : 'blue' }); this.drawCircle(); }, drawCircle: function () { const ctx = wx.createCanvasContext('myCanvas'); ctx.beginPath(); ctx.arc(150, 150, 100, 0, 2 * Math.PI); ctx.setFillStyle(this.data.fillColor); ctx.fill(); ctx.draw(); }, onReady: function () { this.drawCircle(); } }); ``` 上述代码展示了如何通过按钮点击事件动态改变圆形的颜色[^3]。 --- ### 注意事项 - 确保 `canvas-id` 在 WXML 和 JavaScript 中保持一致。 - 如果需要绘制复杂的图形,可以结合 `save()` 和 `restore()` 方法保存和恢复 Canvas 状态[^1]。 - 在绘制图片或复杂图形时,可能需要考虑性能优化问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值