鲜花( 0) 鸡蛋( 0)
|
Windows 画图程序一直伴随着 Windows 各个版本,这个很简单,几乎没有什么用处的程序拥有最基本的绘图功能,很适合用来涂鸦。HTML5 的 Canvas 对象使在线绘图成为可能,虽然 HTML5 还远未成熟,但很多人已经迫不及待地用它设计一些让人惊叹的应用。 X5 A5 Y+ _, G# o
$ P H4 o0 x$ V' i
6 R7 p6 Z, X& A- }
* Q2 i1 Z' a$ E# j$ {CanvasPaint 是一个基于 HTML5 的标准 Windows 画图程序,它拥有和 Windows 画图程序一模一样的界面和操作,功能也几乎完全一样,在特定浏览器的支持下,你甚至可以将最后的作品保存到本机。这并不是最近的项目,2006年就有了,因此,目前绝大多数支持标准的浏览器(Firefox,Safari,Chrome,Opera)都可以正常使用这个程序。以下是作者对这个项目的一些解释。
% ?. w. z8 x+ U9 J, X2 }. X1 r; x! b2 |/ \9 C9 w
为什么要开发这个程序? 8 Z/ F/ Q0 x g, U! `; k1 p) T
目的不是为了开发一个 Windows 画图程序,而是体验 HTML5 的 silkroad game gold 功能。
: V9 X2 r5 s% `# V5 S) A/ d1 @2 X' {7 y- j
如何使用
/ `. l6 l9 u9 r$ \( N' V# L和标准 Windows 绘图程序一样。
6 o% Q( O2 R5 p8 B6 C; w0 f& T$ M+ P) U) p, a
能保存吗? 2 }5 \0 i- ^+ B# Z5 B; v
是的,但只支持 Firefox 2 和 Opera 9 (译者注:这是作者2006年就实现的一个程序)。在本机保存,选择 File 菜单中的 Download,在线保存,选择 Save online,会自动生成一个 URL 在线显示你的作品。' X) ~9 w& S6 R R7 k
% G# e! ?# N7 M6 R! [
浏览器本身的右键菜单影响使用
2 M% s# u- ]6 _9 P' |! a1 T: S( _可以在浏览器的设置中禁用右键菜单。3 g. h: m( m) Y$ Q; r" \( ]
$ f4 j1 s J' g9 T2 u% L为什么有些功能不能用? 8 g B* C3 e( O- ]0 r
一些功能支持特定版本的浏览器(译者注:这是就2006年而言):
5 m2 b( O$ \ y5 w" `3 m- m$ @# `" k9 c2 F3 l* P# ~
Color pickerFirefox 2.0Opera 9 Flood fillOpera 9 Save imageFirefox 2.0Opera 9 Open URLFirefox 1.5Opera 9Latest WebKit Canvas 对象好用吗? ) N3 ^$ q( [" P. T
对那些不需要跨浏览器支持的应用很好用。但在绘画中,最大的问题是,受限于 mousemove 事件的刷新率,你不太容易发现光标的位置,使用喷笔的时候尤其明显。另外,当尺寸变得很大时,速度变得很慢,没有 getPixel() 功能。8 V, y8 h3 j o) a
. r$ T3 T$ w: v: L+ V
技术细节
* i; `2 r; p. f+ f$ s7 {+ V( `程序中使用了 5 个 Canvas 对象。
: T* b% {$ Z: U+ {1 a/ c7 V" \: h# u E$ Q l, C, X
一个主画板,一个是透明画板层浮动在上方显示预览绘画内容,一个隐藏的 Canvas 用来缓存选择的内容,另一个用来缓存反悔状态,一个用在程序标题栏,用来显示渐变色。
5 ]0 R% _; J- j% K4 h" b其他人的 HTML5 Canvas 实验 7 r% Y) E& s, j( Y
Canvascape 3D (用 HTML5 实现简单的第一人称射击游戏)) E4 }$ p" V! `1 r1 e0 L5 L
CanvasGraph (一个 HTML5 Canvas 绘图 JavaScript 类库 )9 }# U: k0 K$ C
Image reflections (用 HTML5 Canvas 实现图像倒影)
" i! Q: V: b0 x# u) dCanvas Painter (一个更为简单的 Canvas 画图程序)4 Y( I1 [9 }; }& \. P
9 E5 l; L9 f9 K* |真正令人赞叹的 HTML 画图程序
9 v: i5 ^6 v5 p% y如果上面的程序已经让你对 HTML5 的 Canvas 功能感到鼓舞,下面这个画图程序会让你赞叹。拥有不输桌面的界面体验和流畅感,在多屏幕电脑上,我甚至有将那些浮动工具面板拖到第二个屏幕的冲动。 |
|