 鲜花( 0)  鸡蛋( 0)
|
Windows 画图程序一直伴随着 Windows 各个版本,这个很简单,几乎没有什么用处的程序拥有最基本的绘图功能,很适合用来涂鸦。HTML5 的 Canvas 对象使在线绘图成为可能,虽然 HTML5 还远未成熟,但很多人已经迫不及待地用它设计一些让人惊叹的应用。# x: a8 c7 r5 V
. @/ }7 C5 B/ H9 Z: \6 ]' s
. ~* I$ ~2 x$ o" \- h& }2 d8 S9 N! I2 B( M( d: A
CanvasPaint 是一个基于 HTML5 的标准 Windows 画图程序,它拥有和 Windows 画图程序一模一样的界面和操作,功能也几乎完全一样,在特定浏览器的支持下,你甚至可以将最后的作品保存到本机。这并不是最近的项目,2006年就有了,因此,目前绝大多数支持标准的浏览器(Firefox,Safari,Chrome,Opera)都可以正常使用这个程序。以下是作者对这个项目的一些解释。
, H# G/ K% p# d3 { X, E# U% C% ^/ z. W# B/ R) y0 Q
为什么要开发这个程序?
+ k$ B0 s6 J0 e L' V目的不是为了开发一个 Windows 画图程序,而是体验 HTML5 的 silkroad game gold 功能。- l* e* Z" k! h% t; Q9 v5 H/ r% I; w
7 }' i4 U% `/ i; z5 H& `
如何使用 ) |% O, u# _6 K- q& V
和标准 Windows 绘图程序一样。! K- N, o7 q9 r3 D' k- T
0 W5 @/ Z4 W8 @; ]7 {0 f4 @能保存吗? 7 |6 n1 }" g/ u5 K
是的,但只支持 Firefox 2 和 Opera 9 (译者注:这是作者2006年就实现的一个程序)。在本机保存,选择 File 菜单中的 Download,在线保存,选择 Save online,会自动生成一个 URL 在线显示你的作品。
! f4 s j3 H+ b @. m4 s, S, @4 f. w& J. x* D% Y' h
浏览器本身的右键菜单影响使用
. D) D5 O0 B2 L2 l2 C v0 I/ i) H可以在浏览器的设置中禁用右键菜单。3 ]( W( l G/ {% h3 |5 T/ R
s5 z5 V) X6 b6 [# N0 t为什么有些功能不能用?
2 e, M |4 R' L5 {一些功能支持特定版本的浏览器(译者注:这是就2006年而言):
7 P; t( I, g6 ?# M
8 j' X9 }2 v3 h# m$ b1 n' aColor pickerFirefox 2.0Opera 9 Flood fillOpera 9 Save imageFirefox 2.0Opera 9 Open URLFirefox 1.5Opera 9Latest WebKit Canvas 对象好用吗?
# L O5 @4 Y0 d+ J8 m! }3 k对那些不需要跨浏览器支持的应用很好用。但在绘画中,最大的问题是,受限于 mousemove 事件的刷新率,你不太容易发现光标的位置,使用喷笔的时候尤其明显。另外,当尺寸变得很大时,速度变得很慢,没有 getPixel() 功能。
5 e/ h7 w" E/ |. w; D; M
! I9 K; w" u3 n# a7 Q" K技术细节 , |& n$ d& ]# _
程序中使用了 5 个 Canvas 对象。9 u. g" j b' Q- b
6 Q4 O5 C6 M7 o! P
一个主画板,一个是透明画板层浮动在上方显示预览绘画内容,一个隐藏的 Canvas 用来缓存选择的内容,另一个用来缓存反悔状态,一个用在程序标题栏,用来显示渐变色。4 j9 u' F/ g( O: \# U. D8 R/ R/ `
其他人的 HTML5 Canvas 实验 ( k' c. U# M$ I6 G' t) l# I
Canvascape 3D (用 HTML5 实现简单的第一人称射击游戏)8 o1 `) `# P. {! R8 r A7 |
CanvasGraph (一个 HTML5 Canvas 绘图 JavaScript 类库 )
/ `1 g; X- a! A6 ?. z) T0 rImage reflections (用 HTML5 Canvas 实现图像倒影)+ _. u; d- L# h8 z3 ?7 h
Canvas Painter (一个更为简单的 Canvas 画图程序)" k. D y! v- A5 Y7 w- E
& x4 Z" @: o% i& E! X
真正令人赞叹的 HTML 画图程序
. o- k. Z4 m0 S: H+ G2 f如果上面的程序已经让你对 HTML5 的 Canvas 功能感到鼓舞,下面这个画图程序会让你赞叹。拥有不输桌面的界面体验和流畅感,在多屏幕电脑上,我甚至有将那些浮动工具面板拖到第二个屏幕的冲动。 |
|