J2ME中对Image的缩放
发表于:2007-07-01来源:作者:点击数:
标签:
a sniplet from the article Taking Pictures with MMAPI http://developers.sun.com/techtopics/mobility/midp/articles/picture/ clapton_xp@hotmail.com 创建缩略图 MIDP2.0中可以对图片中的像素进行操作,在MIDP1.0中则不然。本例用Graphics.setClip()实
a sniplet from the article "Taking Pictures with MMAPI"
http://developers.sun.com/techtopics/mobility/midp/articles/picture/
clapton_xp@hotmail.com
创建缩略图
MIDP2.0中可以对图片中的像素进行操作,在MIDP1.0中则不然。本例用Graphics.setClip()实现每一次对一个像素进行绘制。
private Image createThumbnail(Image image) {
int sourceWidth = image.getWidth();
int sourceHeight = image.getHeight();
int thumbWidth = 64;
int thumbHeight = -1;
if (thumbHeight == -1)
thumbHeight = thumbWidth * sourceHeight / sourceWidth;
Image thumb = Image.createImage(thumbWidth, thumbHeight);
Graphics g = thumb.getGraphics();
for (int y = 0; y < thumbHeight; y++) {
for (int x = 0; x < thumbWidth; x++) {
g.setClip(x, y, 1, 1);
int dx = x * sourceWidth / thumbWidth;
int dy = y * sourceHeight / thumbHeight;
g.drawImage(image, x - dx, y - dy,
Graphics.LEFT | Graphics.TOP);
}
}
Image immutableThumb = Image.createImage(thumb);
return immutableThumb;
}
原文转自:http://www.ltesting.net