 鲜花( 0)  鸡蛋( 0)
|
Windows 画图程序一直伴随着 Windows 各个版本,这个很简单,几乎没有什么用处的程序拥有最基本的绘图功能,很适合用来涂鸦。HTML5 的 Canvas 对象使在线绘图成为可能,虽然 HTML5 还远未成熟,但很多人已经迫不及待地用它设计一些让人惊叹的应用。
% o5 i+ k- K3 _, p# \) l
/ z" ^ {! \ h% K' C0 w9 F7 u h+ V! a( j0 c1 b) |4 U
* E r3 V$ [1 c( [( K& Z
CanvasPaint 是一个基于 HTML5 的标准 Windows 画图程序,它拥有和 Windows 画图程序一模一样的界面和操作,功能也几乎完全一样,在特定浏览器的支持下,你甚至可以将最后的作品保存到本机。这并不是最近的项目,2006年就有了,因此,目前绝大多数支持标准的浏览器(Firefox,Safari,Chrome,Opera)都可以正常使用这个程序。以下是作者对这个项目的一些解释。* n# W+ u- w; f5 Y8 u- V
" Y7 m; f5 N8 U
为什么要开发这个程序?
) g: n( L. i( d0 y# U/ U目的不是为了开发一个 Windows 画图程序,而是体验 HTML5 的 silkroad game gold 功能。6 {) q- z2 d N( ?/ { {' W# ]
' @3 g1 N) E3 {* _如何使用
+ m8 N- P5 Q/ m/ B( @6 \和标准 Windows 绘图程序一样。
% I) C/ V7 o9 V% E/ ?1 ]5 @( v* D* [9 I* Q. [$ D, g/ c
能保存吗? 9 n- u+ l& f9 t' l
是的,但只支持 Firefox 2 和 Opera 9 (译者注:这是作者2006年就实现的一个程序)。在本机保存,选择 File 菜单中的 Download,在线保存,选择 Save online,会自动生成一个 URL 在线显示你的作品。! B, ?! p# B0 \4 a$ N+ R1 {& Q
* i+ _2 L7 t6 E. Z! Y' m浏览器本身的右键菜单影响使用 $ Z( v9 I* P6 W/ E6 Z; b5 }
可以在浏览器的设置中禁用右键菜单。
$ P# H* f& a9 j) g5 z* ^ |% z( h2 I
为什么有些功能不能用? . A, j8 o3 @' @' |4 f! S% W
一些功能支持特定版本的浏览器(译者注:这是就2006年而言):
" g$ T: n; x8 Q
6 v; W( M6 q8 ~5 j0 \5 i, \ ^/ qColor pickerFirefox 2.0Opera 9 Flood fillOpera 9 Save imageFirefox 2.0Opera 9 Open URLFirefox 1.5Opera 9Latest WebKit Canvas 对象好用吗? # `4 @; @% I3 u9 T# ]
对那些不需要跨浏览器支持的应用很好用。但在绘画中,最大的问题是,受限于 mousemove 事件的刷新率,你不太容易发现光标的位置,使用喷笔的时候尤其明显。另外,当尺寸变得很大时,速度变得很慢,没有 getPixel() 功能。" m$ q [4 F5 q! T& m
: P) [, k% \1 A' [/ H2 ]技术细节 6 |/ G1 V& `8 ^$ x# o8 P6 X
程序中使用了 5 个 Canvas 对象。( E8 Q' h, ]6 r' \& E
5 V$ @8 P4 s8 K3 s3 |一个主画板,一个是透明画板层浮动在上方显示预览绘画内容,一个隐藏的 Canvas 用来缓存选择的内容,另一个用来缓存反悔状态,一个用在程序标题栏,用来显示渐变色。
4 ~! S8 o( _; U# d0 L7 s$ q其他人的 HTML5 Canvas 实验 + }" ?/ i& E& m1 W! m1 s( B- \
Canvascape 3D (用 HTML5 实现简单的第一人称射击游戏). A, c2 n" w2 k6 r+ J
CanvasGraph (一个 HTML5 Canvas 绘图 JavaScript 类库 )0 P- E7 Y# @# G0 }! m
Image reflections (用 HTML5 Canvas 实现图像倒影)* O! h/ j7 B5 t( F* H4 e& k
Canvas Painter (一个更为简单的 Canvas 画图程序)3 ?$ _- r1 A3 f
% [; W" {( y5 i, Z真正令人赞叹的 HTML 画图程序
: h m6 x7 n$ ^- R0 j- V+ W如果上面的程序已经让你对 HTML5 的 Canvas 功能感到鼓舞,下面这个画图程序会让你赞叹。拥有不输桌面的界面体验和流畅感,在多屏幕电脑上,我甚至有将那些浮动工具面板拖到第二个屏幕的冲动。 |
|