社区
J2ME
帖子详情
[100分求教]用J2ME/MIDP2.0如何将低分辨率图片扩大显示出来?
Muphinx
2004-08-23 11:10:46
各位高手,我发现不管是用ImageItem.setImage(...)还是Graphics.drawImage(...)
好像都只能将图片按原分辨率显示出来.我做了一个MIDlet将160 * 120的JPG
在Moto A760上显示出来,因为A760屏幕较大,图片显得很小,我想将图片扩大显示出来
但是前提是不改变图片的分辨率,不知道有什么办法没有?
请各位高手指教,绝对给分~
...全文
179
10
打赏
收藏
[100分求教]用J2ME/MIDP2.0如何将低分辨率图片扩大显示出来?
各位高手,我发现不管是用ImageItem.setImage(...)还是Graphics.drawImage(...) 好像都只能将图片按原分辨率显示出来.我做了一个MIDlet将160 * 120的JPG 在Moto A760上显示出来,因为A760屏幕较大,图片显得很小,我想将图片扩大显示出来 但是前提是不改变图片的分辨率,不知道有什么办法没有? 请各位高手指教,绝对给分~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Muphinx
2004-08-25
打赏
举报
回复
十分感谢ashram(孤鸿)的耐心指教~我明白该怎么弄了
也谢谢yg1982(游)的启发~
OK,这就结贴给分
sniper_bat
2004-08-24
打赏
举报
回复
哈哈,孤鸿的贴子,顶一下.
顺便也帮我顶一下...
:P
http://community.csdn.net/Expert/topic/3295/3295330.xml?temp=.225033
ashram
2004-08-24
打赏
举报
回复
随便说一下,上面提供的方法如果扩大的太多回产生锯齿,如果用双线形插值可以解决锯齿的问题。可是双线形插值速度太慢一般是不能接受的,只是从技术角度来说双线形插值值得去了解。
yg1982
2004-08-24
打赏
举报
回复
up,不错
ashram
2004-08-24
打赏
举报
回复
我再说明一下思想吧,就是比如原图是10*10,要扩展到100*100;那先扩展成100*10就是先变成宽的图形,我们把图形看成由100条树直且长度为10的线条组成。具体作法是:那扩展后图形的前10条线都对应原图的第一条,那就在前10条线上画上原图的第一条线,其他的依次类推,这样我们就得到一张高于原图一样,但较宽的图形。在用相同的方法加工的得到的图片,不过这次是把图形看成一条条横的线组成的。即在高度上进行扩展。最后的到想要的图片。
ashram
2004-08-24
打赏
举报
回复
yg1982(游) 的方法只适用于J2SE因为SE中有
g.drawImage(Image img,int x,int y,int Width,int Height, ImageObserver observer) ;
这样的方法,这个方法本身就可缩放图象。
真的要做也不是不可以,不过比较麻烦,而且消耗比较多的处理时间。如果性能好的机器可以考虑使用。
public Image scaleImg(Image src,int dstW,int dstH)
{
int srcW = src.getWidth();
int srcH = src.getHeight();
Image buf1 = Image.createImage(dstW,srcH);
Graphics bg = buf1.getGraphics();
int srcX=0;
for(int x = 0;x<dstW;x++)//先横向扩展
{
srcX = x*srcW/dstW;//求扩展后的某点X所对应的原图上的X
bg.setClip(x,0,1,srcH);
bg.drawImage(src,x-srcX,0,0);
}
Image buf2 = Image.createImage(dstW,dstH);
bg = buf2.getGraphics();
int srcY = 0;
for(int y=0;y<dstH;y++)
{
srcY = y*srcH/dstH;
bg.setClip(0,y,dstW,1);
bg.drawImage(buf1,0,y-srcY,0);
}
return buf2;
}
yg1982
2004-08-24
打赏
举报
回复
不好意思,没看清楚你上面的话,上面这个方法要新生成一张图片。
如果要像你说的那样,你需要先将图片转化为数组,然后再对数组作处理,具体方法应该是取渐近色吧。也就是说,在两个数组值之间加一个值,大小为前后两个值的平均数,但这好像只能扩大相应倍数。
yg1982
2004-08-24
打赏
举报
回复
给你代码,这是csdn上一个朋友的,具体名字忘了,可以将图片放大(不过是用j2se),希望对你有帮助.
import java.io.*;
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;
public class ResizeImage {
public static void main(String[] args) {
try {
//源图片
String imageFile = "C:/Documents and Settings/ghost/My Documents/My Pictures/1.jpg";
InputStream imageIn = new FileInputStream(new File(imageFile));
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);
BufferedImage im = decoder.decodeAsBufferedImage();
int imh = im.getHeight(null);
int imw = im.getWidth(null);
int multiple = 2; //放大倍数
BufferedImage imout = new BufferedImage(imw * multiple, imh * multiple, 1);
Graphics g = imout.getGraphics();
g.drawImage(im, 0, 0, imw * multiple, imh * multiple, null);
//目的图片
FileOutputStream output = new FileOutputStream("C:/Documents and Settings/ghost/My Documents/My Pictures/2.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);
encoder.encode(imout);
imageIn.close();
output.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
artmouse
2004-08-24
打赏
举报
回复
感觉这个东西比较困难,好像没有直接的方法可以这样的,除非你自己弄,按插值的方法做出来
Muphinx
2004-08-24
打赏
举报
回复
没有人会吗?就是说我想把一张160 * 120的图片“放大”显示出来,但是不能改变该图片本身的分辨率,有什么办法吗?
j2me
的
midp2
.0所有源代码
这个压缩包文件包含了
J2ME
MIDP 2.0的所有源代码,对于想要深入理解
J2ME
、特别是MIDP 2.0特性的开发者来说,是一份非常宝贵的资源。 MIDP 2.0主要包含以下几个关键部
分
: 1. 用户界面:MIDP 2.0提供了一个轻量级的...
j2me
的
midp2
.0的源代码
总之,
J2ME
MIDP 2.0为移动开发提供了一套强大的工具集,使得开发者能够创建功能丰富的应用程序,而下载的源代码则为学习和开发提供了实操的基础。通过研究这些源代码,开发者可以提高其编程技巧,同时理解如何在...
J2me
_
midp2
_0_souce_code.rar_com/sun/midp/jadto_
j2me
PublicKey_mi
总之,这个压缩包提供的
J2ME
MIDP 2.0 源代码是一个宝贵的资源,它涵盖了 JAD 处理和 PKI 安全方面的实现,对于想要深入
J2ME
开发、理解和优化其性能的开发者来说,这是一个难得的学习机会。通过仔细研究这些源码...
J2me
中文教程
MIDP2
.0
###
J2ME
中文教程MIDP 2.0 #### 概述 本文档旨在提供一个全面且深入的Java 2 Micro Edition (
J2ME
)的MIDP 2.0教程,尤其针对移动设备开发。
J2ME
是Sun Microsystems(现已被Oracle收购)为嵌入式和消费类电子产品...
J2ME
中文教程
MIDP2
.0
本教程将深入探讨如何使用
J2ME
和
MIDP2
.0进行移动应用开发。 **1.
J2ME
架构**
J2ME
由多个配置(Configurations)和特征集(Profiles)组成。配置定义了运行时环境的基本功能,如内存管理、线程模型等,而特征集则...
J2ME
13,097
社区成员
26,492
社区内容
发帖
与我相关
我的任务
J2ME
Java J2ME
复制链接
扫一扫
分享
社区描述
Java J2ME
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章