首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

[拾掇]收集的几个J2ME图像缩放函数

2012-09-22 
[整理]收集的几个J2ME图像缩放函数收集了一下图像缩放的函数,可能实现的方式很多,感觉这几个不错的,分享下

[整理]收集的几个J2ME图像缩放函数

收集了一下图像缩放的函数,可能实现的方式很多,感觉这几个不错的,分享下[拾掇]收集的几个J2ME图像缩放函数

?

说明:以下函数都是基于MIDP2.0的,缩放后保留透明色。

?

public static Image scaleImage(Image original, int newWidth, int newHeight) {int[] rawInput = new int[original.getHeight() * original.getWidth()];original.getRGB(rawInput, 0, original.getWidth(), 0, 0, original.getWidth(), original.getHeight());int[] rawOutput = new int[newWidth * newHeight];// YD compensates for the x loop by subtracting the width back outint YD = (original.getHeight() / newHeight) * original.getWidth()- original.getWidth();int YR = original.getHeight() % newHeight;int XD = original.getWidth() / newWidth;int XR = original.getWidth() % newWidth;int outOffset = 0;int inOffset = 0;for (int y = newHeight, YE = 0; y > 0; y--) {for (int x = newWidth, XE = 0; x > 0; x--) {rawOutput[outOffset++] = rawInput[inOffset];inOffset += XD;XE += XR;if (XE >= newWidth) {XE -= newWidth;inOffset++;}}inOffset += YD;YE += YR;if (YE >= newHeight) {YE -= newHeight;inOffset += original.getWidth();}}return Image.createRGBImage(rawOutput, newWidth, newHeight, true);}

?

我将100*100的图放大到200*200后对比了一下,ZoomImage生成的图片和另外两个函数生成的图像有点区别,感觉ZoomImage的效果好一点。再放大点就基本一样了看不出区别了。

?

效率上我用6120c测了下:

resizeImage?54~56(μs),

ZoomImage? 58~60(μs),

scaleImage?? 63~65(μs)

?

仅供参考,其实没多大区别的,呵呵。

热点排行