《Java动画、图形和极富客户端效果开发》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)ChetHaaseROMAINGUY著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:7111238419
  • 页数:370 页
图书介绍:本书主要讲述Java应用程序动画和图形开发技术的基础知识。

引言 1

第1章 桌面Java图形API:Swing、AWT和Java 2D 7

1.1抽象窗口工具包 7

1.2 Java 2D 8

1.3 Swing 8

第2章 Swing渲染基本原理 9

2.1事件 9

2.2 Swing绘制 10

2.2.1异步重绘请求 10

2.2.2同步的绘制请求 11

2.3 Swing渲染 12

2.3.1 paintComponent() 13

2.3.2 paint() 15

2.3.3 setOpaque() 17

2.4双缓冲 17

2.5线程 19

2.5.1线程模式 20

2.5.2定时器和事件派发线程 24

2.5.3通过SwingWorker轻松使用线程 24

2.5.4线程小结 27

第3章 Graphics基本原理 28

3.1 Java 2D 28

3.2渲染 29

3.2.1获取Graphics对象 29

3.2.2图形状态 31

3.2.3图形基本元素 48

第4章 图像 60

4.1图像类型 60

4.2 BufferedImage 62

4.3图像缩放 64

4.3.1质量与性能的比较 67

4.3.2 getFasterScaledInstance():更快、更好地缩放图像的方法 73

第5章 性能 76

5.1使用剪辑 76

5.2兼容图像 80

5.2.1为什么您应该关心 80

5.2.2什么是受管图像 81

5.2.3生成兼容的资源 82

5.3受管图像 84

5.3.1夺取DataBuffer 86

5.3.2频繁地渲染到图像 88

5.4中间图像 89

5.4.1好主意 90

5.4.2它是如何做的 90

5.4.3注意事项 94

5.4.4小结 95

5.5最理想的基本渲染 95

5.6基准 96

5.7命令行标记 96

5.7.1渲染 97

5.7.2调试性能 99

第6章 合成 101

6.1 AlphaComposite 101

6.2 AlphaComposite的12个规则 102

6.2.1 Clear 103

6.2.2 Dst 103

6.2.3 DstAtop 104

6.2.4 Dstln 104

6.2.5 DstOut 104

6.2.6 DstOver 104

6.2.7 Src 105

6.2.8 SrcAtop 105

6.2.9 Srcln 105

6.2.10 SrcOut 106

6.2.11 SrcOver 106

6.2.12 Xor 106

6.3创建并设置一个AlphaComposite 107

6.4 AlphaComposite的常规用法 108

6.4.1使用Clear 108

6.4.2使用SrcOver 109

6.4.3使用Srcln 110

6.5 AlphaComposite的问题 111

6.6创建自己的合成 112

6.6.1 Add合成 113

6.6.2实现CompositeContext 115

6.6.3组合这些像素 116

6.7小结 117

第7章 渐变 118

7.1两停顿线性渐变 118

7.2规则渐变的特效 119

7.3多停顿线性渐变 123

7.4放射状渐变 125

7.5优化渐变 127

7.5.1缓存这个渐变 128

7.5.2更巧妙的缓存 129

7.5.3使用循环渐变的优化 129

第8章 图像处理 131

8.1图像滤色镜 131

8.2用BufferedlmageOp处理一个图像 132

8.3 AffineTransformnOp 134

8.4 ColorConvemOp 134

8.5 ConvolveOp 136

8.5.1构造一个内核 137

8.5.2影响边界 138

8.6 LookupOp 139

8.7 RescaleOp 140

8.8定制BufferedlmageOp 142

8.8.1基本的滤色镜类 142

8.8.2着色滤色镜 143

8.9滤色镜性能的一个注意点 147

8.10小结 147

第9章 玻璃窗格 148

9.1在玻璃窗格上绘制 149

9.2屏蔽输入事件 152

第10章 分层窗格 157

10.1使用分层窗格层 157

10.2在单个层中排列组件 160

10.3分层窗格和布局 161

10.4可选的使用布局的JLayeredPane 162

第11章 重绘管理器 165

11.1当Swing变得太聪明时 165

11.2接触RepaintManager 166

11.3基于RepaintManager的反射 167

11.3.1为反射腾出空位 168

11.3.2绘制反射 170

11.3.3一个不智能、但反而更合适的 RepaintManager 172

11.4小结 174

第12章 动画基本原理 175

12.1与时间有关 175

12.2基本概念 175

12.2.1基于帧的动画 175

12.2.2帧频 177

12.2.3基于时间的运动 177

12.3定时 182

12.3.1现在是什么时候?” 182

12.3.2“到时候可以唤醒我吗?” 184

12.3.3“再次唤醒我再一次再一次” 185

12.4分辨率 190

12.4.1 System.currentTimeMillis()和System nanoTime()的分辨率 192

12.4.2睡眠分辨率 194

12.4.3定时器分辨率 197

12.4.4关于分辨率的决定 199

12.5活化Swing应用程序 200

12.5.1活化图形 200

12.5.2活化GUI 202

12.6小结 209

第13章 平滑移动 210

13.1背景:为什么我的动画看起来很差 210

13.2什么因素导致动画停顿及如何使它们平滑 210

13.2.1定时(几乎)是一切 211

13.2.2颜色:差异是什么 213

13.2.3垂直回描:同步的感觉 219

13.3演示:SmoothMoves 222

13.3.1创建图形对象 222

13.3.2运行定时器 223

13.3.3渲染 224

13.3.4渲染选项 224

13.4小结 227

第14章 Timing Framework:基本原理 228

14.1概述 228

14.2核心概念 229

14.2.1 Animator 229

14.2.2回调 231

14.2.3周期 232

14.2.4重复 233

14.2.5分辨率 234

14.2.6启动行为 234

14.3内插 239

14.3.1加速和减速 240

14.3.2 Interpolator 243

14.4小结 252

第15章 Timing Framework:高级特性 253

15.1触发器 253

15.1.1概念和用法 253

15.1.2触发器的超类 254

15.1.3内建的触发器 255

15.2属性设置器 261

15.2.1 Property Setter 263

15.2.2 Evaluator 266

15.2.3 KeyFrames 268

15.3小结 280

第16章 静态效果 281

16.1模糊 281

16.1.1动机 281

16.1.2简单的模糊 283

16.1.3高斯模糊 285

16.1.4性能诀窍 288

16.2反射 289

16.2.1动机 289

16.2.2绘制反射 290

16.2.3模糊的反射 290

16.3阴影 291

16.3.1动机 291

16.3.2简单的阴影 292

16.3.3逼真的阴影 293

16.4高亮 294

16.4.1动机 295

16.4.2增亮 295

16.4.3聚光 297

16.4.4为了更容易阅读而文本高亮 298

16.5锐化 300

16.5.1动机 300

16.5.2简单的锐化 301

16.5.3非锐化屏蔽 303

16.5.4锐化一个缩小的图像 303

16.6小结 305

第17章 动态效果 306

17.1运动 306

17.1.1动机 306

17.1.2前进、前进、走了 308

17.2淡入淡出 310

17.2.1动机 310

17.2.2淡入淡出的策略 312

17.2.3 AlphaComposite淡入淡出 312

17.2.4颜色淡入淡出 313

17.2.5交叉淡入淡出 314

17.2.6容易地生成淡入淡出 315

17.3脉动 315

17.3.1动机 315

17.3.2感觉我的脉动 316

17.3.3自动发光 318

17.3.4跳动的脉动 321

17.4弹簧 323

17.4.1动机 323

17.4.2弹簧热 324

17.5变形 327

17.5.1动机 327

17.5.2变形按钮 328

17.6小结 331

第18章 Animated Transitions 332

18.1使应用程序的状态动态延续 332

18.2 Animated Transitions库 334

18.2.1动态的应用程序状态 334

18.2.2 GUI的状态 334

18.2.3 API 335

18.3例子:SearchTransition 336

18.4例子:再看一下SearchTransition定制 344

18.5例子:ImageBrowser 346

18.5.1 GUI的结构 349

18.5.2图像和ImageHolder 350

18.5.3 ScreenTransition 351

18.6 Animated Transitions的底层原理 352

18.6.1设置下一个界面—静静地 353

18.6.2使Layout不起作用—动态地改变布局 353

18.6.3使Swing高兴:性能 354

18.7小结 354

第19章 一个极富客户端诞生了 355

19.1 Aerith 355

19.1.1运行Aerith 355

19.1.2大概的位置 356

19.2在纸上设计工作流程 356

19.3想像图 358

19.4在纸上设计界面 359

19.5实体模型 360

19.6从实体模型到代码 361

19.6.1使用层 361

19.6.2混合模式 363

19.6.3使用导向线 364

19.7我不是画家 364

19.8选择合适的颜色 366

19.9阅读与设计相关的书籍 367

19.10小结 367

第20章 结论 368

20.1项目 368

20.2 Java站点 369

20.3作者的站点 369

20.4互相交流 370