无法在 J2ME 波兰语中使用相机拍摄图片?

Posted

技术标签:

【中文标题】无法在 J2ME 波兰语中使用相机拍摄图片?【英文标题】:Unable to capture picture using camera in J2ME Polish? 【发布时间】:2011-11-16 16:21:58 【问题描述】:

我正在用 J2ME 开发一个移动应用程序。现在我将其转换为 J2ME 波兰语。在我的应用程序中,我使用手机中的相机拍摄了一张照片。它在 J2ME 中运行良好。但它在 J2ME 波兰语中不能正常工作。我无法解决它。

下面给出的代码sn-p

import javax.microedition.lcdui.Canvas;
import javax.microedition.media.control.VideoControl;
//...

public class VideoCanvas extends Canvas 
  //  private VideoMIDlet midlet;
   // Form frm

 Form frm=null;

    public VideoCanvas(VideoControl videoControl)      

        int width = getWidth();
        int height = getHeight();
       // this.midlet = midlet;

        //videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);

        //Canvas canvas = StyleSheet.currentScreen;
        //canvas = MasterCanvas.instance;



        videoControl.initDisplayMode( VideoControl.USE_DIRECT_VIDEO,this);

        try 
            videoControl.setDisplayLocation(2, 2);
            videoControl.setDisplaySize(width - 4, height - 4);
         catch (MediaException me) 
        videoControl.setVisible(true);



    

    public VideoCanvas(VideoControl videoControl,Form ff)      

     frm=ff;
        int width = getWidth();
        int height = getHeight();
       // this.midlet = midlet;

        Ticker ticker=new Ticker("B4 video controll init");
        frm.setTicker(ticker);

        //Canvas canvas = StyleSheet.currentScreen;         




       videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this);

        ticker=new Ticker("after video controll init");
        frm.setTicker(ticker);

        try 
            videoControl.setDisplayLocation(2, 2);
            videoControl.setDisplaySize(width - 4, height - 4);
         catch (MediaException me) 
        videoControl.setVisible(true);



         ticker=new Ticker("Device not supported");
         frm.setTicker(ticker);


    

    public void paint(Graphics g) 
        int width = getWidth();
        int height = getHeight();

        g.setColor(0x00ff00);
        g.drawRect(0, 0, width - 1, height - 1);
        g.drawRect(1, 1, width - 3, height - 3);
    


在正常的 j2me 中,上面的代码可以正常工作。但是在 j2me 波兰 videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this) 中,这里的 this 指的是 VideoCanvas (which extends from javax.microedition.lcdui.Canvas)。但它会像这样抛出“IllegalArgumentException - 容器应该是画布”。如何解决问题?

【问题讨论】:

请提供在 VideoCanvas.java 中使用的导入语句 - 没有这些,人们永远不会知道 extends 子句中使用的 Canvas 是指 javax.microedition.lcdui.Canvas 还是来自某个类另一个恰好同名的包 嗨。我只发布我的部分代码 sn-p。我已经导入以下“javax.microedition.lcdui.Canvas,javax.microedition.media.control.VideoControl”。但我忘了添加在我的帖子中。所以请原谅我的错误。欢迎大家提出宝贵的意见。 @SIVAKUMAR.J 我需要打开相机拍摄图像使用J2ME波兰语可以建议我如何发扬光大。 【参考方案1】:

J2ME 和 J2ME 波兰语中的 Display 类是不同的。我相信您只是因为 Display 类而收到此错误。

将您的 Display 类更改为波兰语的库,您的问题将得到解决。

【讨论】:

我通过添加 cmets 在我的问题中添加了额外的点。所以请访问它给我你宝贵的想法。这对我有帮助。

以上是关于无法在 J2ME 波兰语中使用相机拍摄图片?的主要内容,如果未能解决你的问题,请参考以下文章

使用相机拍摄,在图像视图中显示并保存到图片中

Android将图片旋转90度(由相机拍摄)[重复]

使用 Ionic 使用相机拍摄多张照片

从图片中拍摄的照片不会显示在 android 的科尔多瓦相机插件中的裁剪

在 imageview 中使用时从相机或画廊拍摄的图片其方向发生变化,有时在 Android 中会垂直拉伸

如何在 Android 中保存相机拍摄的图片(应用 glsl 效果)?