扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:mydeman编译 来源:j2me开发网 2007年11月21日
关键字:
// create the scalable graphics instance
scalableGraphics = ScalableGraphics.createInstance();
}
public void paint( Graphics g )
{
// clear the display
g.setColor( 255, 255, 255 );
g.fillRect( 0, 0, getWidth(), getHeight() );
// bind our scalable graphics to the given graphics
scalableGraphics.bindTarget( g );
// render at fixed position and size
scalableImage.setViewportWidth( 50 );
scalableImage.setViewportHeight( 75 );
scalableGraphics.render( 5, 50, scalableImage );
// again at different position and size
scalableImage.setViewportWidth( 100 );
scalableImage.setViewportHeight( 150 );
scalableGraphics.render( 80, 5, scalableImage );
// again at size that varies with the canvas size
scalableImage.setViewportWidth( getWidth()-20 );
scalableImage.setViewportHeight( getHeight()-20 );
scalableGraphics.render( 0, 0, scalableImage );
// release the graphics context
scalableGraphics.releaseTarget();
}
}
Canvas的子类在不同的位置以不同的大小显示这个图像三次。在第三次,图像填满了这个画布。在支持可重设屏幕大小的设备上,图像可以适当的等比例变化。图4显示了画布的
图4 在一个Canvas上等比例变换ScalableImages
如果你正在渲染的图像是动态的,你应该允许用户和他们交互。当你不用SVGAnimator渲染时,你需要检测用户指针事件,得到图像是否和在何处被点击,然后在SVGImage上调用dispatchMouseEvent()方法,触发脚本定义好的动作。对一个CustomItem,表单移动应该允许激活和焦点导航,通过图像中的元素,分别使用SVGImage的activate() 和focusOn()方法。
你的程序不仅仅可以操纵一个已经存在的SVGImage的DOM,也可以从头建立一个图像。SVGImage的静态方法createEmptyImage()返回一个具有空文档的图像,这个文档的架构可以有程序创建的代表形状和变换的SVGElement填充。这种可以和ScalableGraphics联合使用,实现一个普通的2D绘制工具箱,但是正像我前面提到的那样,这样用法不是最初的意向,不推荐使用。
总结
J2ME的可升级2D矢量图形API提供了渲染和操作以矢量为基础的图像和
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者