`
wuhua
  • 浏览: 2111282 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用JSR234实现对图片的缩放

    博客分类:
  • J2ME
阅读更多

JSR234是高级媒体API,在原有的MMA的基础 上增加了很多Control,目前nokia的s60第三版已经开始支持jsr234,他主要支持对图片、声音等多媒体信息的一些高级处理,下面是使用其对图片缩放的方法:3GEYEd4E w�d3ynf'h
3GEYE�g9}.A7n(P!RL
 
9I-wm"st@'H3 /** *//**
wy/Z+dp'G3      * 实现对图片的缩放3GEYE0L|7[r0S7o1z
     * @param path String 缩放图片的路径
;k8U;e9R_!Q3      * @param newWidth int 新的宽度3GEYEM6boR;XsH
     * @param newHeight int 新的高度3GEYE fo.r'Q$Y ]5eN/M:Q
     * @return Image 缩放以后得到的Image对象
K,t nxnZ3      */3GEYE W4Bo!g&q9^ul`~5Pi/}
    public Image zoomImage(String path,int newWidth,int newHeight)...{3GEYEj'?{3p9A%tV
        Image re = null;
M%If*T!E+s+v3         MediaProcessor mp = null;
-k'@ QZ%Uh}q3         ByteArrayOutputStream baos = new ByteArrayOutputStream();3GEYEm+z @"xuT~
        try ...{
S1W(OOG9e7@){3             mp = GlobalManager.createMediaProcessor("image/png");3GEYE0O4k*W6NGy b3qB
            InputStream in = this.getClass().getResourceAsStream(path);
@\6q,e�YI*w"c'xq!p3             mp.setInput(in,MediaProcessor.UNKNOWN);
U"[^ yS2f3             mp.setOutput(baos);3GEYEo4L%m6Hw)[)JQb
            ImageTransformControl itc = (ImageTransformControl)mp.getControl("javax.microedition.amms.control.imageeffect.ImageTransformControl");3GEYE Ag;n8M ]F L
            int sw = itc.getSourceWidth();
-P)zXG8~(k,s3             int sh = itc.getSourceHeight();3GEYE\+a�\g#At C8o
            int ow = newWidth;3GEYE G p qulF}
            int oh = newHeight;
.iq/e;ViE7Z._$f3             itc.setSourceRect(0,0,sw,sh);
){X1]%[R r3D3             itc.setTargetSize(ow,oh,0);3GEYE}3by tvQ
            itc.setEnabled(true);
.l i6^3|(D3             mp.start();
R$u;P$\A�e3             mp.complete();3GEYE9D6WE8j;w/f
            byte b[] = baos.toByteArray();
.x[ B b/`_3             System.out.println(b.length);3GEYE@x8_Xh(F'Q
            int[] ints = new int[b.length / 4];3GEYE ?iQ4P#bx
            int intcount, bytecount;3GEYE*f+^O/^8_&?u@([
            for (intcount = 0, bytecount = 0; bytecount < b.length; ) ...{3GEYEK9kMH)Hs x
                ints[intcount] =3GEYEoI[+kK
                    (( ((int)(b[bytecount + 0])) << 24) & 0xFF000000) |  //A
2ESusRz3                     (( ((int)(b[bytecount + 1])) << 16) & 0x00FF0000) |  //R3GEYE%iu,Y`9o1T!H
                    (( ((int)(b[bytecount + 2])) << 8)  & 0x0000FF00) |  //G
&m+y} {n/a3                     (( ((int)(b[bytecount + 3]))        & 0x000000FF) ); //B
@ha([C8q3                 intcount++;
yo y l6r3                 bytecount+=4;3GEYEm5? v-|3B.UR
            }3GEYED"m�_@5Cv5k V
3GEYEx A;u)fdL/_]Gx
            re = Image.createRGBImage(3GEYE[1Z,Xf f�?*`|Ki9{
            ints, ow, oh, true);3GEYER M6m"K6rAyeN OI7Y
           3GEYE6z6H3JK:a6c.l t
        } catch (MediaException ex) ...{3GEYECK L \lx�@s
            ex.printStackTrace();
E#z z0r.FaW.z3         }
$F$vX,X h!~A3
1P2sRq2N3         return re;
awKX&W3N'm3     }
%|5k+G3z*dD^3 在J2ME中可以直接使用这个方法,当然,先确定你的手机 支持jsr234,缩放只是对图片处理的一个很小的方面,有兴趣的可以看看WTK2.5中关于JSR234的DEMO


'`$BkQ(a9Sx2C6|,? y3


g z(\.fFTYv2`3

JSR234并不是一个一定要实现的JSR ,以前我的做法是自己写一个缩放算法

分享到:
评论

相关推荐

    Drools的JSR94实现形式

    3. **Drools与JSR 94的结合**:Drools通过实现JSR 94的RuleServiceProvider和RuleRuntime接口,实现了对JSR 94标准的兼容。这意味着用户可以通过JSR 94的标准API来管理和执行Drools规则。 4. **规则的生命周期**:...

    j2ME jsr 234

    在提供的压缩包文件中,"jsr234spec"很可能包含了JSR 234的官方规范文档。这份文档详细阐述了PAPI的设计原则、接口定义、使用示例以及实现指南。通过阅读这份文档,开发者可以了解如何在J2ME应用程序中有效地利用...

    在jdk5中使用JSR105实现XML签名认证的解决方案

    ### 在JDK5中使用JSR105实现XML签名认证的解决方案 #### JSR105简介 JSR105(Java Specification Request 105)即XML Digital Signature API,是Java平台的一项用于处理XML文档签名的技术规范。虽然它是JDK 1.6引入...

    JSR133中文版

    **JSR133中文版** 是一份关于Java内存模型(Java Memory Model,JMM)的重要文档,它详细解释了JSR(Java Specification Requests)133中的规范,该规范对Java平台的并发编程有着深远的影响。JSR是Java社区进程...

    fileconnection (jsr75)源代码

    【描述】"nokia jsr75 imageview src源代码"则指出这是诺基亚(Nokia)对JSR 75实现的一个特定部分,主要关注图像查看器(ImageViewer)的应用。源代码通常包含用于展示和操作图像的类和方法,这可能包括加载图片、...

    JSR-303接口标准和参考实现

    Hibernate Validator是JSR-303的一个参考实现,也是最广泛使用的实现之一。它提供了完整的验证功能,并且与Hibernate ORM框架紧密集成,但也可以独立使用。`hibernate-validator-4.2.0.Final.jar`是这个特定版本的...

    Spring IOC之 使用JSR 330标准注解.docx

    自Spring 3.0版本起,Spring开始支持JSR 330(JavaTM Standard Edition (Java SE) Dependency Injection for JavaTM)标准注解,这些注解提供了一种更加通用和标准化的方式来实现依赖注入。 JSR 330定义了两个主要...

    spring3零配置注解实现Bean定义(包括JSR-250、JSR-330)

    本文将详细介绍如何利用Spring3提供的注解特性实现Bean的定义,并重点探讨JSR-250和JSR-330这两种注解标准的应用。 #### Spring3中Bean的零配置注解定义 Spring3提供了一种无需XML配置即可完成Bean定义的方法,即...

    23 Spring Core参数校验之JSR303_JSR-349注解-慕课专栏1

    Spring Core提供了一种优雅的方式来处理参数校验,特别是通过JSR 303、JSR 349和JSR 380这些标准注解,实现了高效且易于维护的验证机制。 JSR 303最初定义了JavaBean验证的标准,而JSR 349是其修订版,主要增加了对...

    JSR303jar包

    4. `jsr303-1.5-RC5.1.jar`:这个可能是早期版本的JSR303实现,可能包含了一些特定的校验规则或者工具,不过版本较旧,建议使用更稳定和功能更强大的Hibernate Validator。 在实际项目中,JSR303的使用步骤通常包括...

    jsr135拍照jsr75保存图片

    利用jsr135获得摄像头设备,在通过设备获得一张图片,此图片为 byte[]数组数据,在通过Image.CreateImage(byte b[],state,end)方法创建图片。jsr75保存图片,利用jsr75属性获得手机图片文件夹,将图片byte数据数据...

    文件操作-JSR75包使用总结

    在J2ME开发中,JSR75是Java Community Process定义的一个标准,它为移动设备提供了文件系统和个人信息管理(PIM)的访问接口。本文主要聚焦于JSR75中的文件操作部分,总结了一些核心知识点。 首先,我们需要确定...

    使用JSR356在Java中构建WebSocket应用

    使用JSR356在Java中构建WebSocket应用,详细介绍,包括1.服务器推送给客户端和2.客户端发送给服务器

    JSR303jar包 使用的是Hibernate

    2. 配置:在SpringMVC配置中启用JSR303验证,并指定使用的Validator实现,通常是Hibernate Validator。 3. 注解模型:在需要验证的实体类或控制器方法的参数上添加相应的JSR303注解。 4. 处理异常:当验证失败时,...

    JSR-168 中文版,实现门户必备。

    "JSR-168 Portlet中文指南大全.doc"这个文档很可能详细介绍了JSR-168标准的各个方面,包括但不限于上述概念,可能还包括如何开发portlet、配置portlet容器、实现portlet间的通信等实践指导。对于想要学习和实施JSR-...

    使用jsr168标准开发portlet

    标题中的"使用jsr168标准开发portlet"是指基于Java Specification Request (JSR) 168标准来创建portlet应用程序。JSR 168是Java社区进程(Java Community Process)提出的一个标准,旨在规范portlet在企业级portlet...

    jsr173_api

    在压缩包`jsr173_api-1.0.jar`中,包含了JSR 173 API的实现,供开发者在项目中引用和使用。这个JAR文件是API的标准实现,可能包含了必要的类库和接口定义,使得开发者可以在Java应用程序中直接处理XML流数据。 `...

    jsr168和jsr268中文文档及开发手册

    它们详尽地介绍了API的使用方法、示例代码和最佳实践,可以帮助开发者快速掌握portlet开发,实现功能丰富的门户应用。通过深入学习这些文档,开发者可以更好地理解portlet的工作原理,从而创建出适应不同业务需求的...

Global site tag (gtag.js) - Google Analytics