J2ME移动2D图形开发快速入门

dachang018

dachang018

2016-02-19 14:31

图老师小编精心整理的J2ME移动2D图形开发快速入门希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~
绪论
  
  
  这篇文章将介绍可升级2D矢量图形API(Scalable 2D Vector Graphics API),它是J2ME的一个可选包。这些API非常易于使用,它们可以用来渲染和转换体积小和伸缩性好的二维(2D)图形,这个可选包在Java社区进程(JCP)中以JSR-226开发。我将会给出API的总括,并且突出典型的用户案例,使用代码演示这些案例。

  慨述
  
  
  JSR-226将渲染和重放矢量2D图形引入到Java语言的移动应用中。由Nokia领导的专家组,是由移动行业的主要厂商组成,他们都很有爱好将矢量多媒体内容引入到他们的设备中。在写这篇文章时,这个规范刚刚被核准,大家正在热切期待着一个参考实现。
  
    矢量图对移动开发者来说,有两大好处:占用空间小和伸缩性好。考虑下面这个简单的图像:


  图1 一个简单的示例图像  

使用GIF格式,这个图片的大小会达到7386字节。使用向量格式,大小仅仅为693字节,不到十分之一。这种减少是如何发生的呢?
  
    以光栅为基础的图像格式,像GIF,对组成图像的矩形区域中的每一个像素的色彩内容进行编码。而矢量图,仅仅包含决定像素应该如何被着色的绘画指令。一个图像的向量表示法可以更大程度上进行压缩,这对资源受限的移动设备是一个很大的有利因素。
  
    伸缩性好是另外一个重要的优点。矢量图可以很清楚的进行变换,因为它们的绘画指令是和分辨率无关的。图2显示前一张图片进行等比例缩小、翻转和旋转后的图像。
  


  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

图2 示例图片的变换

   矢量图的度量单位是任意的和相对的,它们可以被一些常量因子乘或除,以变换图像从而适应特定设备的屏幕。通过对这个坐标系统使用简单的数学操作,你可以创造出无限的效果,包括翻转、旋转、拉伸和扭曲。使用矢量图像,应用程序开发者不再需要为图像和图标创建不同的集合,来支持不同的屏幕分辨率。

   矢量图的简洁和伸缩性在动画领域大放异彩。以光栅为基础的动画,像网页中的GIF和MIDP游戏中的精灵,在动画的每一个帧中包含整个图片都很费力。与之相比,以矢量为基础的动画仅仅包含一些指令,而这些指令规定了当需要改变动画时的图像哪些元素应该如何改变。假如矢量图的大小比它们相对应的光栅图小一个数量级,那么矢量动画的大小就比他们相对应的光栅动画小两个数量级,这使得它们成为在移动设备上变换和展示多媒体内容的理想选择。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

   当以私有的Macromedia Flash播放器为基础的矢量图和矢量动画变得流行时,可升级矢量图形(Scalable Vector Graphics,SVG)文件格式以开放的标准和免费的专利权,成为业界的另外一个选择。它由W3C标准化。SVG-Tiny提供了SVG全部功能的一个子集,适合在移动设备上使用。JSR-226采用SVG-Tiny的1.1版本作为J2ME矢量图形的官方文件格式。W3C称SVG-Tiny为一个“Profile”,但是为了避免和J2ME的Profile混淆,我称之为“格式”。

  SVG-Tiny标准也可以支持动画。图像文件内部的指令可以自己修改图像元素的位置和属性,往返应时钟事件和用户输入。

  为了更加复杂的交互,JSR-226引入了兼容microDOM的API,microDOM是SVG1.2完整的文档对象模型(DOM)的一个子集。

  SVG是一种可扩展标记语言(XML)格式,它使用一个公共的Schema充分的注释和系统化。SVG-Tiny可能很小,但是它们仍然是SVG文件,仍然包含XML。下面是代表一个“brave world”图像的完整的SVG-Tiny文件:

<?xml version="1.0" standalone="no"?>
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
  <svg preserveASPectRatio="xMidYMid meet"
  
展开更多 50%)
分享

猜你喜欢

J2ME移动2D图形开发快速入门

编程语言 网络编程
J2ME移动2D图形开发快速入门

J2ME开发入门专题系列之一:J2ME概述

编程语言 网络编程
J2ME开发入门专题系列之一:J2ME概述

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

J2ME蓝牙程序开发实战入门

编程语言 网络编程
J2ME蓝牙程序开发实战入门

J2ME基础入门教程

编程语言 网络编程
J2ME基础入门教程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

J2ME游戏开发实例讲解

编程语言 网络编程
J2ME游戏开发实例讲解

J2ME开发经验:J2ME应用程序内存优化三招

编程语言 网络编程
J2ME开发经验:J2ME应用程序内存优化三招

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用Validator检查你的表单

用Validator检查你的表单

如何安装配置你的Tomcat5并绑定域名

如何安装配置你的Tomcat5并绑定域名
下拉加载更多内容 ↓