Java点九图片解析 NinePatch

码农软件 · 软件分类 · 图形/图像处理 · 2019-09-06 07:42:50

软件介绍

关于JavaSE NinePatch

JavaSE NinePatch是一款针对Swing和JavaFX对点九图片解析的一种实现方式

关于点九

点九图又称九图,是一种png格式的图片,其后缀为.9.png,其与传统png图片不同的地方是,点九图的四周边缘各有1个像素宽高的区域,而且只能填两种颜色,透明(#00000000)和黑色(#FF000000),其目的是用于对该图片的扩展区域和内容显示区域进行定义。

使用点九PNG技术,可以将图片横向和纵向同时进行拉伸,并能保持图片细节,不会因为图片拉伸而模糊失真。

原理

如下图所示,这是一张点九图,左侧和上侧作为扩展区域,右侧和下侧则是控制内容显示的区域。当需要上下拉伸的时候,就从左侧和上侧的黑色区域非重合垂直部分开始复制拉伸;当需要左右拉伸的时候,就从上侧和左侧的黑色区域非重合水平部分开始拉伸。当想要在显示文字时,控制其与上下或左右边缘的距离,可以设置右侧或下侧的黑色区域,右侧的黑色区域控制内容上下位置,下侧控制内容的左右位置。

JavaFX使用示例

Canvas canvas = new Canvas(480, 360); 
GraphicsContext gc = canvas.getGraphicsContext2D(); 
Image img = new Image(getClass().getResource("/icon_qipao.9.png").toExternalForm()); 
FxNinePatch np = new FxNinePatch(img);
np.drawNinePatch(gc, 28, 28, 400, 100);

运行效果


本文地址:https://codercto.com/soft/d/13979.html

JavaScript语言精粹

JavaScript语言精粹

Douglas Crockford / 赵泽欣、鄢学鹍 / 电子工业出版社 / 2009-4 / 35.00元

本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深JavaScript架构师Douglas Crockford倾力之作。 向读者介绍如何运用JavaScript创建真正可扩展的和高效的代码。一起来看看 《JavaScript语言精粹》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具