 鲜花( 0)  鸡蛋( 0)
|
Windows 画图程序一直伴随着 Windows 各个版本,这个很简单,几乎没有什么用处的程序拥有最基本的绘图功能,很适合用来涂鸦。HTML5 的 Canvas 对象使在线绘图成为可能,虽然 HTML5 还远未成熟,但很多人已经迫不及待地用它设计一些让人惊叹的应用。5 y3 \, O% y- s: N# a
. A) _" K' W" D: G- N
8 D0 P" u% ]4 k# X8 O* G$ S: l8 a- J! c! [' v# Q
CanvasPaint 是一个基于 HTML5 的标准 Windows 画图程序,它拥有和 Windows 画图程序一模一样的界面和操作,功能也几乎完全一样,在特定浏览器的支持下,你甚至可以将最后的作品保存到本机。这并不是最近的项目,2006年就有了,因此,目前绝大多数支持标准的浏览器(Firefox,Safari,Chrome,Opera)都可以正常使用这个程序。以下是作者对这个项目的一些解释。/ v. W# `# j4 @$ L5 ?% \
! N1 P6 q2 n* A
为什么要开发这个程序? 4 c7 J2 {- x" s2 K7 B) t% r6 J' u. \
目的不是为了开发一个 Windows 画图程序,而是体验 HTML5 的 silkroad game gold 功能。7 l3 }! Q0 z9 @
+ a" L# e6 c' e& l/ W3 m如何使用
6 h% |; i0 l: X8 B- U" z和标准 Windows 绘图程序一样。
% ?, t/ X! W6 @9 l7 K3 k
6 `$ E* \7 H* `# O/ u能保存吗?
. t0 r" }( [+ j; Y3 P1 p- s) Q- Q是的,但只支持 Firefox 2 和 Opera 9 (译者注:这是作者2006年就实现的一个程序)。在本机保存,选择 File 菜单中的 Download,在线保存,选择 Save online,会自动生成一个 URL 在线显示你的作品。
. _' \" [4 q3 s R1 n6 B9 X, s; \7 ^8 g- ]* Q
浏览器本身的右键菜单影响使用
% G0 Q5 D! H# \; B" h可以在浏览器的设置中禁用右键菜单。
7 l, O/ E B) @1 j3 o# X& D/ N& E& z0 E+ o
为什么有些功能不能用? + r" Z& U V, Q/ p) C
一些功能支持特定版本的浏览器(译者注:这是就2006年而言):
9 }& m9 W6 {: _& @4 u9 ?, S- k2 ?; O/ p' e% B( T* r5 U5 B
Color pickerFirefox 2.0Opera 9 Flood fillOpera 9 Save imageFirefox 2.0Opera 9 Open URLFirefox 1.5Opera 9Latest WebKit Canvas 对象好用吗? 7 c5 {+ v Y8 O. ]$ |# ~
对那些不需要跨浏览器支持的应用很好用。但在绘画中,最大的问题是,受限于 mousemove 事件的刷新率,你不太容易发现光标的位置,使用喷笔的时候尤其明显。另外,当尺寸变得很大时,速度变得很慢,没有 getPixel() 功能。
0 N- v0 W8 V7 d$ \9 ~" E+ X# d$ R
3 g# T$ Y& O1 H! P技术细节 9 l) l" Q- z9 H! C# J0 m0 |' B
程序中使用了 5 个 Canvas 对象。
0 l% w. s/ b1 k: I3 r4 {$ v0 E
4 c. M2 s7 h5 U* @3 I一个主画板,一个是透明画板层浮动在上方显示预览绘画内容,一个隐藏的 Canvas 用来缓存选择的内容,另一个用来缓存反悔状态,一个用在程序标题栏,用来显示渐变色。
5 o( Y9 r* b8 r! e9 S+ g F其他人的 HTML5 Canvas 实验
4 I7 T; J1 \& s2 @! v0 aCanvascape 3D (用 HTML5 实现简单的第一人称射击游戏)
0 n, h6 W9 W9 [/ Y% u. cCanvasGraph (一个 HTML5 Canvas 绘图 JavaScript 类库 )
+ r$ k- e; f; L9 uImage reflections (用 HTML5 Canvas 实现图像倒影)
) t% k2 O2 G: w/ qCanvas Painter (一个更为简单的 Canvas 画图程序)9 P) t( B) v# c1 J" N V
- R! \, |2 z3 ]# W真正令人赞叹的 HTML 画图程序
# o- v4 B! E( r( b5 x如果上面的程序已经让你对 HTML5 的 Canvas 功能感到鼓舞,下面这个画图程序会让你赞叹。拥有不输桌面的界面体验和流畅感,在多屏幕电脑上,我甚至有将那些浮动工具面板拖到第二个屏幕的冲动。 |
|