❶ 如何在 HTML5 画布上绘图
步骤 1: 在 HTML 中设置画布,创建一个引用,并获取上下文对象
画布在 HTML 中通过 <canvas> 标签定义。与其他标签类似,<canvas> 的属性(如宽度和高度)作为特性输入。假设你希望创建一个宽 500 像素、高 500 像素的画布,并将其命名为“can1”,稍后在 JavaScript 中引用它时将用到。
在 HTML 文档中输入 <canvas> 标签。
<canvasid="can1"width="500"height="500"></canvas>
在 JavaScript 文档中,创建一个变量,在编写脚本时该变量将代替“can1”。这里,我们将该变量命名为“myCanvas”,并使用getElementById将其链接到“can1”。
varmyCanvas=document.getElementById("can1");
画布的CanvasRenderingContext2D对象具有操作画布的所有命令。 这里,在上下文对象中检索“can1”。将此变量称为“myContext”。
varmyContext=myCanvas.getContext("2d");
步骤 2: 绘制矩形、直线、贝塞尔曲线、圆和形状
在画布上绘制简单的线条非常容易。使用 JavaScript 的moveTo方法可设置线条开始位置的坐标。然后只需使用另一方法设置终点。 第二步可以使用若干方法,每种方法专用于帮助呈现一种不同的线型,无论是直线、贝塞尔曲线还是圆弧。若要将线条合并为形状,可以闭合对beginPath和closePath方法调用中的线条。在指定所需的外观之后,可以使用fill方法应用颜色,并使用stroke方法执行线条和形状的呈现。
应用一些基本风格。这里,通过使用fillStyle属性绘制一个黑色矩形,将画布背景设置为黑色 (#000)。然后使用strokeStyle属性将线条颜色设置为白色 (#fff),使用fillRect方法应用黑色背景,并使用lineWidth属性将线条的粗细设置为 3 个像素。
//Specifyablackbackground,.
myContext.fillStyle='#000';
myContext.strokeStyle='#fff';
myContext.fillRect(0,0,500,500);
myContext.lineWidth=3;myContext.fill();
在后续步骤中,将在这个 500×500 的黑色画布上继续构建。
现在,准备在画布的黑色表面绘制一个白色线条。先从直线开始。
使用moveTo方法设置直线的起点,使用lineTo方法设置终点。
这些方法采用两个数字作为参数。第一个数字表示 x 轴坐标,或者表示此坐标定义的自画布左侧算起的像素数。第二个数字是从顶部开始测量的 y 轴坐标。
//ht.
myContext.moveTo(0,0);
myContext.lineTo(500,500);
myContext.stroke();
若要绘制二次贝塞尔曲线,请使用quadraticCurveTo方法,该方法采用两个坐标—曲线的一个控制点和一个端点。
//.
myContext.moveTo(0,0);
myContext.quadraticCurveTo(0,500,500,250);
myContext.stroke();
若要绘制三次贝塞尔曲线,请使用bezierCurveTo方法,该方法采用三个坐标—曲线的两个控制点和一个端点。
//DrawaV-.
myContext.moveTo(0,0);
myContext.bezierCurveTo(500,820,0,500,500,0);
myContext.stroke();
若要创建一个圆,请使用arc方法:在设置用于绘制圆形轮廓的原点时,请确保将moveTo方法设置在沿线条路径的位置上,否则圆上将有一条通向moveTo坐标的“尾巴”。
//.
myContext.moveTo(500,250);
myContext.arc(250,250,250,0,Math.PI*2,true);
myContext.stroke();
通过闭合对beginPath和closePath调用中的多个线条,可以从上述线条的任意组合中绘制一个 2D 形状。然后,整个形状可以使用fill接收一种颜色。前面设置的笔划样式将创建白色线条,在与应用于主体的红色 (#f00) 合并时,该形状将继承双色调外观。
//.
myContext.fillStyle='#f00';
myContext.beginPath();
myContext.moveTo(250,0);
myContext.lineTo(0,250);
myContext.lineTo(250,500);
myContext.lineTo(500,250);
myContext.closePath();
myContext.fill();
步骤 3: 显示位图图像
位图图像(如 .jpg、.png 和 .gif 文件)可以放置在画布上,甚至可以在代码中缩放和裁剪,不会触及原始文件。若要添加位图图像,请指定该图像的 URI,然后使用drawImage方法在画布上指定其位置。使用可选参数可将图像缩放到指定的大小,甚至仅显示图像的一个片段,这对于实现滚动背景或使用子画面表动态显示子画面等操作非常有用。
若要在屏幕上绘制位图图像而不进行任何修改,请指定要用于左上角的 x 坐标和 y 坐标。
//(0,0).
varmyImg=newImage();
myImg.src='myImageFile.png';
myContext.drawImage(myImg,0,0)
若要缩放图像,可在末尾添加两个数字,分别代表宽度和高度。如果有帮助,不妨将后两个数字视为“右部”和“底部”,而不是“宽度”和“高度”。
//.
varmyImg=newImage();
myImg.src='myImageFile.png';
myContext.drawImage(myImg,0,0,500,500)
若要仅使用图像的一个切片,则需要定义两个矩形区域,对drawImage的调用提高到 9 个参数(第一个参数是 JavaScript 图像对象)。要传入的前四个数字表示图像的切片。后四个数字表示要显示该切片的画布区域。
//500canvas.
varmyImg=newImage();
myImg.src='myImageFile.png';
myContext.drawImage(myImg,0,0,20,20,0,0,500,500);
步骤 4: 渐变
任何人只要熟悉在图形设计程序中定义渐变的常见方式,都会喜欢使用 JavaScript 代码定义渐变的简单性。在设计程序中是选择颜色,渐变中的颜色位置使用水平滑块设置。JavaScript 中的唯一区别是使用从 0 到 1 范围内的小数值代替滑块。
在设计程序中,线性渐变使用线条在图像上定位,线条的开始和结束位置确定方向和缩放级别。在 JavaScript 中,该线条使用两对 x、y 轴坐标绘制。然后将 4 个数字传递到createLinearGradient方法以创建CanvasGradient对象。在定义渐变对象的属性之后,就会得到所需的渐变,CanvasGradient作为fillStyle传递到fillRect方法进行呈现。
//Renderawhite,.
varmyGradient=myContext.createLinearGradient(0,0,500,500);//
myGradient.addColorStop(0,"#fff");//
myGradient.addColorStop(0.5,"#f00");//redinthemiddleofthegradient
myGradient.addColorStop(1,"#000");//blackattheendofthegradient
myContext.fillStyle=myGradient;//
myContext.fillRect(0,0,500,500);//
径向渐变的定义方式稍有不同。为渐变的起点和终点绘制两对 x、y 轴坐标—,这与线性渐变中一样—,但每个坐标对都有第三个与其关联的 z 轴坐标,用于定义半径。可以想象为围绕一个坐标绘制一个圆,该坐标位于中心 (250, 250),绘制的圆的大小以像素为单位定义。这样定义两个圆之后,一个圆较小,一个圆跨整个画布,有 6 个数字传递到createRadialGradient。在呈现时,径向渐变在两个圆之间的空间中绘制,颜色等级与圆的半径的大小成正比。
//Renderawhite,.
varmyGradient=myContext.createRadialGradient(250,250,0,250,250,500);//
myGradient.addColorStop(0,"#fff");//
myGradient.addColorStop(0.5,"#f00");//redinthemiddleofthegradient
myGradient.addColorStop(1,"#000");//blackattheendofthegradient
myContext.fillStyle=myGradient;//
myContext.fillRect(0,0,500,500);//
步骤 5: 动画
可以使用多种方法绘制动画。
对于画布内的元素,JavaScript 提供了setInterval方法,该方法计划一个重复调用的函数,每经过定义的时间间隔便调用一次该函数。在该函数中,需要重绘画布来反映对其上呈现的对象的更改。下面是一个示例,其中一个函数初始化该动画,将呈现频率计划为大约每秒 60 帧(每 13.33 毫秒一帧),并且重复调用该函数将重绘画布。在本例中,径向渐变从一个小点逐渐增大,直到填充整个画布。
//.
//.
varmyCanvas;
varmyContext;
varouterBoundary=0,innerBoundary=0;
//Starttheanimation.
window.onload=initialize;
functioninitialize(){
myCanvas=document.getElementById("can1");
myContext=myCanvas.getContext("2d");
setInterval("redrawCanvas()",13);//redraw@
}
//Runtheanimation.
functionredrawCanvas(){
if(outerBoundary<500){
outerBoundary++;//growthesizeofthegradient
}else{
innerBoundary++;//
}
varmyGradient=myContext.createRadialGradient(250,250,innerBoundary,250,250,outerBoundary);
myGradient.addColorStop(0,"#fff");//
myGradient.addColorStop(0.5,"#f00");//redinthemiddleofthegradient
myGradient.addColorStop(1,"#000");//blackattheendofthegradient
myContext.fillStyle=myGradient;//
myContext.fillRect(0,0,500,500);//
}
CSS3 转换和动画可用于转换画布本身和画布外部的对象。
此外,新的 WinJS 库有许多高度优化的动画,创建这些动画是为了模拟原有 Windows 动画的行为。 WinJS 动画有助于为你的应用 UI 提供一个高度集成的外观。有关详细信息,请参阅WinJS.UI.Animation 命名空间。
步骤 6: 更多 HTML5 画布提示
可以使用一系列属性(shadowColor、shadowBlur、shadowOffsetX和shadowOffsetY)应用阴影。
可以使用createPattern方法作为一种模式重复画布中的元素。
可以使用save方法保存画布状态,然后执行更改,再使用restore方法还原以前的状态。该方法很好用,函数甚至不需要采用参数。
可以使用globalCompositeOperation属性定义两个画布元素重叠时会发生什么情况。 使用此属性始终可以定义在源或新元素级别发生的情况。可以执行的操作有颜色混合、遮蔽和更改重叠优先级等。
注意globalCompositeOperation主题使用源表示新元素,使用目标表示以前存在的元素。
可以使用strokeText方法将文本添加到画布。
❷ ps存储为web所用格式 错误,源文件750像素宽,70M左右吧!我把画布改为480宽就能!什么情况啊
报什么错?内存不足吗?如果是那么请你先把你的源文件备份一份,然后对photoshop做以下操作,然后重启PS。重新打开该文件,之后再存储为web所用格式
原理是增加存储可操作内存,可以同时关闭电脑打开的程序,内存不足常会报错。
❸ adobe illustrator新建文件web是什么意思
adobe illustrator新建文件web是ps里新建预设里的Web就是一种网页常用的规格尺寸,其实在新建文档中那些规格没有多大的作用,一般都是用自定义尺寸。
新建一个当前文件一样的画布,两个画布同步,你可以一个画布用轮廓显示,一个用颜色显示。两个颜色叠在一起,可以通过菜单“窗口/不透明度”面板中的叠加模式(显示“正常”的那个),来产生两个颜色的叠加效果。
分布式的:
大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上,只需要在浏览器中指明这个站点就可以了。在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。
动态的由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的、经常更新的,这一点是由信息的提供者保证的。
❹ photoshop中,已经制作好的一张画布储存为web格式时,只有一张大图储存在image的文件夹中,
不用切片就不要想了,你在web输出的时候庆银如果没做切片,它就默认你把这个画布做了一张切片,而且这也是唯一的一张切片。
如果你不嫌麻烦,也可以把各个图层复制=》粘贴入新的画布=》存储为web格式。另外,web格式归根到底隐汪是把切片输出出去了,所以,所有誉携宴输出的图片都是矩形的
❺ psweb模式怎么将一张图片放在两个画布上
-------
1、首先,在档岩PSweb中打开要放置的图片;
2、在图片上点击右键,选择缓闭“复制”;
3、点击“新建”,然后在新建的画布中点击右键,选择“粘贴”;
4、再次点击“新建”,然后在新建的画布中点击右键,选择“粘贴”;
5、最扰蠢裂后,在两个画布上都可以看到放置的图片。
❻ web界面设计规范有哪些
一、网页尺寸
制作网页时,我们选用的分辨率是72像素/英寸,使用的画布尺寸1920px*1080px。
但是并不代表我们可以在整个画布上作图。
网页的布局主要有两种,左右型布局和居中型布局。布局的不一致,使得可设计的空间也不相同。
二、网页字体
字体设计的总原则是:可辨识性和易读性。
网页的文字设计是系统默认的字体:宋体、微软黑体、苹果系统黑体,英文则建议使用arial无衬线字体
常用的字号大小有以下几种:
12px是应用于网页的最小字体,适用于非突出性的日期,版权等注释性内容。
14px 则适用于非突出性的普通正文内容。
16px、18px或者20px 适用于突出性的标题内容。
❼ PSCC2015新建的web画布怎么跟PSCS6很不一样啊,感觉不适应
这是显示器配置文件导致的问题,解决办法很简单,同时按帆毕住Ctrl+Alt+Shift三个键,然后启动photoshop,会显示“删除配置文件”,点确认,接着又会提示“显示器配置文态唤芹件似乎有问题”,此时选择“忽略显示器配置文件”并勾选“记住选择”,然后就一切OK了!我也链正碰到过楼主的问题,就是这么解决的!
❽ 1. 利用Web前端技术 (1)制作一个600*600像素的画布
web前端中的画布指的应该就是canvas了吧,如下,创建一个600px*600px的画布
<canvas width="600px" height="600px" />
❾ ps中图片存储为web格式时,图片自动缩小了,怎么解决
这是PS的bug,画布总高度8000px内调整没关系,超过了调整大小就悲剧了。解决办法:在原画布调整需要的总画布大小或切片,不用保存,然后,存储为WEB格式,你可以选择调整品质,注意:在web存储页面的时候 图像大小不要调整了。然后直接存储,保存的文件是不会变的(你想要的大小尺寸)。