 鲜花( 0)  鸡蛋( 0)
|
Windows 画图程序一直伴随着 Windows 各个版本,这个很简单,几乎没有什么用处的程序拥有最基本的绘图功能,很适合用来涂鸦。HTML5 的 Canvas 对象使在线绘图成为可能,虽然 HTML5 还远未成熟,但很多人已经迫不及待地用它设计一些让人惊叹的应用。
' U1 n3 Z3 w6 _; h& Y- K
5 D- S; |/ r" n% w7 K7 k- g0 m4 O9 U ~8 q4 u- [1 K8 Z" N$ p6 P
* H; Q7 o% G4 b, jCanvasPaint 是一个基于 HTML5 的标准 Windows 画图程序,它拥有和 Windows 画图程序一模一样的界面和操作,功能也几乎完全一样,在特定浏览器的支持下,你甚至可以将最后的作品保存到本机。这并不是最近的项目,2006年就有了,因此,目前绝大多数支持标准的浏览器(Firefox,Safari,Chrome,Opera)都可以正常使用这个程序。以下是作者对这个项目的一些解释。
8 a1 A! E' w) _0 w4 I$ m1 d c2 W# U6 X' h
为什么要开发这个程序?
2 m1 G7 [" N- A' O; w2 v7 B目的不是为了开发一个 Windows 画图程序,而是体验 HTML5 的 silkroad game gold 功能。; k4 I6 y% i$ I- }0 v# N4 I. v
. c: |# _" Z( b9 H如何使用
! W# K. n. @: F! n# u! V! O和标准 Windows 绘图程序一样。" f$ r# t! ^0 Y- |6 E# Y
. }. w, v: q2 b, ?能保存吗? ; J! H2 O [: k9 v1 N7 D' n5 h
是的,但只支持 Firefox 2 和 Opera 9 (译者注:这是作者2006年就实现的一个程序)。在本机保存,选择 File 菜单中的 Download,在线保存,选择 Save online,会自动生成一个 URL 在线显示你的作品。
5 K. _2 s& t! r% `. M0 }
# A* U" ^. |% F; a浏览器本身的右键菜单影响使用
0 U, @0 ~1 S: \% v C可以在浏览器的设置中禁用右键菜单。) K5 J# S2 g u( I S7 x
" V. E8 ^! ~; i/ r" @7 ^1 v为什么有些功能不能用?
& s5 i( `8 _$ y3 a4 t( h一些功能支持特定版本的浏览器(译者注:这是就2006年而言):7 `* A" W, }" @
, b& C( Y2 h9 k. u4 u# [& }* G2 c1 Z y
Color pickerFirefox 2.0Opera 9 Flood fillOpera 9 Save imageFirefox 2.0Opera 9 Open URLFirefox 1.5Opera 9Latest WebKit Canvas 对象好用吗? ) a1 x. F9 P* L. V7 y( Z
对那些不需要跨浏览器支持的应用很好用。但在绘画中,最大的问题是,受限于 mousemove 事件的刷新率,你不太容易发现光标的位置,使用喷笔的时候尤其明显。另外,当尺寸变得很大时,速度变得很慢,没有 getPixel() 功能。6 {" Z: L) h4 T: f) T
% R. E; m6 d+ {# V4 k技术细节 9 r5 O! M" {& G& }! v- ]$ S7 {! g
程序中使用了 5 个 Canvas 对象。
) C( {% y- S6 f6 f) g8 n- l! H/ t, f- r7 V% x( r# P
一个主画板,一个是透明画板层浮动在上方显示预览绘画内容,一个隐藏的 Canvas 用来缓存选择的内容,另一个用来缓存反悔状态,一个用在程序标题栏,用来显示渐变色。
: ]+ L# K& |, V6 X* L! c3 R7 A其他人的 HTML5 Canvas 实验 / E5 {6 }( ] ?1 r
Canvascape 3D (用 HTML5 实现简单的第一人称射击游戏)8 x3 o7 Q: G2 I1 ]+ C
CanvasGraph (一个 HTML5 Canvas 绘图 JavaScript 类库 )
) [6 z8 [9 a. U2 EImage reflections (用 HTML5 Canvas 实现图像倒影) d2 p! o6 ?. V5 ]/ k4 z
Canvas Painter (一个更为简单的 Canvas 画图程序)* C) x- \" n6 t/ d6 ~! V
8 l/ _$ b1 [& W真正令人赞叹的 HTML 画图程序 6 ^% |# ^# v( v" M' Y5 v$ ~
如果上面的程序已经让你对 HTML5 的 Canvas 功能感到鼓舞,下面这个画图程序会让你赞叹。拥有不输桌面的界面体验和流畅感,在多屏幕电脑上,我甚至有将那些浮动工具面板拖到第二个屏幕的冲动。 |
|