很多站长朋友们都不太清楚html5怎么让矩形倾斜,今天小编就来给大家整理html5怎么让矩形倾斜,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 html5 canvas怎么画出斜向的椭圆 2、 如何使用html5中的canvas标签,画一个圆及一个矩形 3、 html5 canvas 怎么让矩形倾斜 如图 html5 canvas怎么画出斜向的椭圆HTML5中的Canvas并没有直接提供绘制椭圆的方法,下面是对几种绘制方法的总结。各种方法各有优缺,视情况选用。各方法的参数相同:
context为Canvas的2D绘图环境对象,
x为椭圆中心横坐标,
y为椭圆中心纵坐标,
a为椭圆横半轴长,
b为椭圆纵半轴长。
参数方程法
该方法利用椭圆的参数方程来绘制椭圆
//-----------用参数方程绘制椭圆---------------------
//函数的参数x,y为椭圆中心;a,b分别为椭圆横半轴、
//纵半轴长度,不可同时为0
//该方法的缺点是,当linWidth较宽,椭圆较扁时
//椭圆内部长轴端较为尖锐,不平滑,效率较低
function ParamEllipse(context, x, y, a, b)
{
//max是等于1除以长轴值a和b中的较大者
//i每次循环增加1/max,表示度数的增加
//这样可以使得每次循环所绘制的路径(弧线)接近1像素
var step = (a > b) ? 1 / a : 1 / b;
context.beginPath();
context.moveTo(x + a, y); //从椭圆的左端点开始绘制
for (var i = 0; i < 2 * Math.PI; i += step)
{
//参数方程为x = a * cos(i), y = b * sin(i),
//参数为i,表示度数(弧度)
context.lineTo(x + a * Math.cos(i), y + b * Math.sin(i));
}
context.closePath();
context.stroke();
};
复制代码
均匀压缩法
这种方法利用了数学中的均匀压缩原理将圆进行均匀压缩为椭圆,理论上为能够得到标准的椭圆.
//------------均匀压缩法绘制椭圆--------------------
//其方法是用arc方法绘制圆,结合scale进行
//横轴或纵轴方向缩放(均匀压缩)
//这种方法绘制的椭圆的边离长轴端越近越粗,长轴端点的线宽是正常值
//边离短轴越近、椭圆越扁越细,甚至产生间断,这是scale导致的结果
//这种缺点某些时候是优点,比如在表现环的立体效果(行星光环)时
//对于参数a或b为0的情况,这种方法不适用
function EvenCompEllipse(context, x, y, a, b)
{
context.save();
//选择a、b中的较大者作为arc方法的半径参数
var r = (a > b) ? a : b;
var ratioX = a / r; //横轴缩放比率
var ratioY = b / r; //纵轴缩放比率
context.scale(ratioX, ratioY); //进行缩放(均匀压缩)
context.beginPath();
//从椭圆的左端点开始逆时针绘制
context.moveTo((x + a) / ratioX, y / ratioY);
context.arc(x / ratioX, y / ratioY, r, 0, 2 * Math.PI);
context.closePath();
context.stroke();
context.restore();
};
复制代码
下面的代码会出现线宽不一致的问题,解决办法:
均匀压缩法中把
context.stroke();context.restore();
改为
context.restore();context.stroke();
就可以
三次贝塞尔曲线法一
三次贝塞尔曲线绘制椭圆在实际绘制时是一种近似,在理论上也是一种近似。 但因为其效率较高,在计算机矢量图形学中,常用于绘制椭圆,但是具体的理论我不是很清楚。 近似程度在于两个控制点位置的选取。这种方法的控制点位置是我自己试验得出,精度还可以.
如何使用html5中的canvas标签,画一个圆及一个矩形Cavas的英文解释是画布,使用这个Html5的Canvas标签可以创建画布,结合JavaScript可以画出很多图形,我们先以画一个蓝色矩形为例,说明一下这个标签的使用方法,
首先需要建立一个HTML5的网页,方法是:
进入DW后,选择:文件-->新建
在弹出的对话框中选择文件类型为Html5
选择“创建”后,即会形成一个空白网页,选择“文件”--"保存“
起名为:juxing
这个名字可以依据自己的喜好起,但最好名字与网页内容相关,以后好找,另外一个需要注意的是,最好不用汉字。
我们将视图切换为”代码“视图
并将标题改为”画出矩形“
标题也可以依据自己的喜好进行设定,并不影响网页的运行。
Html是标记型语言,各种功能都需要在对应的标签里面才可以,所以我们首先需要添加标签。
我们只需输入<c,就会看到提示列表里出现我们所需要的标签canvas,按下回车键,即可完成输入。
之后,我们每一次按下空格、或输入相关字母,都会有提示列表,我们只需选择所需的项目,按下回车即可,并不需要完整输入字串,可以避免输入时的拼写错误。在本例中,只有引号内的”mycanvas“是需要完整输入的,其他部分的关键字都可以通过提示列表进行输入。
命令为:<canvas id="mycanvas" width="600" height="400"></canvas>
只有Canvas标记是不能直接画出图来的,需要配合JavaScript语言,首先需要写出对应的程序标记。
Html语言中的标记都是成对出现的,我们为了避免错误,可以先将标记的起始、标记的结束写好
写好前后标记后,我们就可以在标记中使用JavaScript语言,调用Canvas标记,画出我们所需要图形了,方法是:
var canvas=document.getElementById('mycavas');
将变量canvas,赋值为我们之前在html中定义的画布”mycanvas,以方便JavaScript调用
var ctxt=canvas.getContext('2d');
将变量 ctxt赋值为利用刚定义的“canvas”返回的二维绘图环境对象,使用这个对象就可以绘图了
使用fillStyle方法设置颜色,是十六进制表示的三原色分量范围是从“#000000”至“FFFFFF”
ctx.fillStyle='#0066cc';
我们将颜色设置为一种蓝色,这个颜色也可以随自己喜好 更改。
ctx.fillRect(50,50,400,200);
填充的起始位置设置为(50,50),矩形宽度为400,高度为200
选择在浏览器中浏览后,即可看到我们所需要的矩形
html5 canvas 怎么让矩形倾斜 如图html:
<canvas id="c" width="400px" height="400px">not support</canvas>
CSS:
#c{
background-color:rgba(134, 179, 225, 1);
}
JS:
window.onload = init;
var ctx = null;
var recX = 150,
recY = 150,
angle = -35;
function init() {
var cvs = document.getElementById('c');
ctx = cvs.getContext('2d');
drawRectangle();
drawCircle(-100, 0, 50, '#fff');
drawCircle(100, 0, 50, 'rgba(134, 179, 225, 1)');
}
function setPos() {
ctx.translate(recX, recY);
ctx.rotate(angle * Math.PI / 180);
}
function drawRectangle() {
ctx.save();
setPos();
ctx.fillStyle = '#fff';
ctx.fillRect(-100, -50, 200, 100);
ctx.restore();
}
function drawCircle(x, y, r, fillStyle) {
ctx.save();
ctx.beginPath();
setPos();
ctx.fillStyle = fillStyle;
ctx.arc(x, y, r, 0, Math.PI * 2, true);
ctx.closePath();
ctx.fill();
ctx.restore();
}
关于html5怎么让矩形倾斜的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于html5怎么让矩形倾斜 html5倾斜标签的详细内容...