• 締切済み

カメラで撮影後、確認画面を出したい

foofoo0の回答

  • foofoo0
  • ベストアンサー率42% (39/92)
回答No.2

いろいろ方法はありますが、単にプレビューとして表示するだけなら、非表示のViewを1つ用意しておいて、画像保存後にその画像をViewに設定して表示してやればよいのではないでしょうか?

関連するQ&A

  • カメラアプリの排他制御(android)

    はじめまして。android初心者の学生です。 androidでカメラアプリを作っていますが、エラーで落ちてしまいます。 端末はgalaxy note IIIです。 画面タッチでオートフォーカスを呼び出し、フォーカスが終わったらパシャリ。というシンプルなものなのですが・・・ 具体的には 「オートフォーカス最中に3回程タッチすると、たまにフリーズして落ちる」 といった状況です。そこで多重撮影を防止するため、排他制御とやらをしたいのですが・・・うまくいかず困っています。オートフォーカス中にタッチしても、オートフォーカスを呼び出さない・・・というところまでは作った(考えた)つもりです。が、恐らくおかしなソースになっていると思われます。 @Override public boolean onTouchEvent(MotionEvent event) { switch(event.getAction()&MotionEvent.ACTION_MASK){            case MotionEvent.ACTION_DOWN: if(mTouch==false) camera.autoFocus(this); break; case MotionEvent.ACTION_CANCEL: break; } return true; } public synchronized void onAutoFocus(boolean success, Camera camera) { mTouch = true; camera.autoFocus(mAutoFocusListener); } private Camera.AutoFocusCallback mAutoFocusListener = new Camera.AutoFocusCallback() { public void onAutoFocus(boolean success, Camera camera) { camera.takePicture(null, null, mPictureListener); } }; private Camera.PictureCallback mPictureListener = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { BitmapFactory.Options options = new BitmapFactory.Options(); Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length, options); MediaStore.Images.Media.insertImage(getContext().getContentResolver(), bmp, "", null); camera.startPreview(); mTouch = false; }; できるのなら一度画面に触れたら、タッチを無効にしたいです。 初歩的な問題だとは思いますが、ご指南いただけたらと思います。 よろしくお願いします。

  • ロード中の画面

    いつもお世話になっております。 androidアプリの開発は行っております。 まだ経験が乏しいため、お力をお貸しいただきたく存じます。 下記ページを参考にロード中の画面を表示するようにしています。 https://sites.google.com/site/technoute/android/thread/thread_progress MainActivity.java ------------------------------------------------------------ public boolean onTouchEvent(MotionEvent event) {   // loading   this.m_SimpleThread = new AsyncTaskProgressDialogSimple(this);   this.m_SimpleThread.execute();   // TopActivity   Intent intent = new Intent(MainActivity.this, TopActivity.class);   startActivity(intent);   return super.onTouchEvent(event); } MainActivity.java でタップした時に、ロード画面を生成して TopActivity.javaに画面遷移しています。 TopActivity.java ------------------------------------------------------------ protected void onCreate(Bundle savedInstanceState) {   // http://~に接続して、jsonデータから一覧表示を生成 } TopActivity.java ではjsonデータを取得して一覧表示しています。 その間も、MainActivity.java で生成したロード画面を表示しておきたいと思います。 よろしくご教示お願いいたします。

  • 初心者です。

    javaのソースについて質問です。 次のソースに関していくつか質問させて下さい。 public class HelloThread implements Runnable { //処理1 Thread th; int pause; public static void main(String args[]) { HelloThread hello; //処理2 hello = new HelloThread(); hello.start(); //処理3 try{ Thread.sleep(1000); } catch (Exception ex) { } //処理4 hello.stop(); } public HelloThread() { } public void start() { //処理5 th = new Thread(this); th.start(); } public void run() { //処理6 while(th != null) { System.out.println("Hello World!"); try { Thread.sleep(200); } catch (Exception ex) { } } } public void stop() { //処理7 th = null; } } 質問 (1)mainメソッドのhello = new HelloThread();で HelloThreadクラスの処理1の2行が実行されると 思いますが、その後にhello.start();が実行される のでしょうか? (2)hello.start();で処理5が実行されるのでしょうか? (3)th.start();でrun()が呼び出されるのでしょうか? (4)処理6を実行している間、処理3、4が実行される のでしょうか? 出来ればその理由も教えて下さい。 (5)このソースの処理4の後のpublic HelloThread()は 何か意味があるのでしょうか? 以上、初心的な質問だと思いますが、よろしくお願いします。

    • ベストアンサー
    • Java
  • カメラ撮影画像

    カメラで撮影した画像の良し悪しに関しての質問です。 ビット数と画素数があると思うのですが、ビット数はRGB各色をどれだけの細かい階調を持って画像処理できるかの指標であるのは理解できるのですが、よく画像が粗いなどを皆さんがおっしゃいますがあれとはビット数は関係ないのでしょうか??ビット数の差というものはカメラにて撮影したデータを画像処理にかける際の弊害の方が多いような気がします。(細かな色の調整が不可な為) カメラ内部のイメージセンサーにて受光した光をデジタルに変換する際にもビット数は影響してくるのでしょうか??理解出来ていないのでイメージになるのですが・・・ カメラ内部の話になると思うのですが、ビット数の違いが一番影響してくる過程はどこになるのでしょうか??やはりイメージセンサーにて受光した光をデジタル信号に変換する過程でしょうか?? その点により保存される画像に影響が出る⇒ビット数の違いにより画像の綺麗さに影響が出る?? また、もう一点『画質』という大切な要素があると思います。その点も少し曖昧なのですが、画質というものはイメージセンサーの大きさですか?? となると光を取りこめる量が違う事により、画像の綺麗さに影響が出る。 では画質とビット数の関連性はどういったものになるのでしょうか?? 両者は異なるが画像の綺麗さをいう点で大切な二つの要素であるでしょうが・・・ また、画質の綺麗さを考えた際にはこの上記の二つ以外、他の要因はあるのでしょうか?? もちろん撮影環境などは関係あるにしても(どれだけの明るさがあるのか) ⇒そういった観点からISO感度、SS、絞り値ももちろんですが・・・ 以上です。宜しくお願い致します。 上記とは異なった知識などでも構わないのでその辺りの知識を教えて頂きたいです。

  • visual c# 2010 シリアル通信アプリ

    http://www.kana-soft.com/tech/sample_0007.htm のサイトを参考に、マイコンとのシリアル通信評価に使うPCのアプリケーションを visual c# 2010で作っています。 一応データを受け取るようになったのですが、 63H 62H 61H 00H (アスキーコードだと"cba<null>") というデータを送っているはずなのですが、 扣a というデータが受信されてしまいます。 正しく受信するにはどうすれば良いでしょうか。 (該当していそうな部分のソースです) : : /****************************************************************************/ /*! * @brief データ受信が発生したときのイベント処理. * * @param [in] sender イベントの送信元のオブジェクト. * @param [in] e イベント情報. * * @retval なし. */ private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { //! シリアルポートをオープンしていない場合、処理を行わない. if (serialPort1.IsOpen == false) { return; } try { //! 受信データを読み込む. string data = serialPort1.ReadExisting(); //! 受信したデータをテキストボックスに書き込む. Invoke(new Delegate_RcvDataToTextBox(RcvDataToTextBox), new Object[] { data }); } catch (Exception ex) { MessageBox.Show(ex.Message); } } /****************************************************************************/ /*! * @brief 受信データをテキストボックスに書き込む. * * @param [in] data 受信した文字列. * * @retval なし. */ private void RcvDataToTextBox(string data) { //! 受信データをテキストボックスの最後に追記する. if (data != null) { rcvTextBox.AppendText(data); } }

  • JAVAにおける画像のJPEG保存の高速化

    現在USBWebカメラを利用し、画像処理をしたのちに画像をJPEG形式で保存するというプログラムを作成しています。 入力画像ビットマップデータをINT配列化⇒画像処理⇒INT配列をBufferedImageに変換⇒JPEGで保存 という流れです。 このとき、以下のコードでBufferedImageをJPEGで保存しています。 public void saveJpgbuf(BufferedImage ssimg ,String fname ) throws IOException { //ImageIO.setUseCache(true);//プログラムの初めで実行済み ImageWriter writer = ImageIO.getImageWritersByFormatName("jpeg").next(); ImageOutputStream out = ImageIO.createImageOutputStream(new File("c:\\"+fname + ".jpg")); writer.setOutput(out); writer.write(ssimg); out.close(); } しかし、この処理が非常に重いようで、現状のノートPC(Corei5 2.56GHz)では一画像の保存に20msはかかってしまうようです。 保存先をramdiskに変えても17msはかかります。 他の処理と比べてこの保存処理のコストが非常に高く、全体のパフォーマンスを低下させています。 このような処理を高速化できる方法はありませんでしょうか?

    • ベストアンサー
    • Java
  • javaでクッキーを取得したい

    以下ソースで、ホームページのデータは取得できるのですが、クッキーが必要なページではうまく作動しません。 どのように改良すればよいでしょうか? また、こういったプログラムを作るのに参考になる書籍をご存知でしたら教えてください。 よろしくお願いいたします。 import java.io.*; import java.net.*; class test { public static void main(String[] args) throws Exception { URL url = null; BufferedReader in = null; String readString = null; url = new URL("http://www.yahoo.co.jp"); in = new BufferedReader(new InputStreamReader(url.openStream(),"JISAutoDetect")); while((readString=in.readLine())!=null) System.out.println(readString); in.close(); } }

    • ベストアンサー
    • Java
  • プログラムからの返答の意味がわかりません..

    import java.io.*; public class Teme { public static void main(String [] args) { String [] command = { "C:\\Users\\yuzumodoki\\Desktop\\chunkparser-1.0\\chunkparser-1.0\\parser.exe", "aaaa" }; // 外部プログラムを実行 Runtime runtime = Runtime.getRuntime(); Process process = null; try { process = runtime.exec(command); } catch(Exception exception) { System.err.println(exception.getMessage()); exception.printStackTrace(); System.exit(-1); } // 外部プログラムの標準出力から読み込み BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); System.out.println(br); try { String line; while((line = br.readLine()) != null) { System.out.println(line); } } catch(Exception exception) { System.err.println(exception.getMessage()); exception.printStackTrace(); System.exit(-1); } finally { try { br.close(); } catch(Exception exception) { System.err.println(exception.getMessage()); exception.printStackTrace(); System.exit(-1); } } } } 上記のプログラムはparser.exeにアクセスし,そのアプリケーションに文字列を送り,処理をしてその結果を取得するというものです. 本来"aaaa"と送ると"(aaaa aaaa)"と返ってくるプログラムなのですが, java.io.BufferedReader@89ae9e と返ってきます.これはなぜだかわかる方いらっしゃいますか?また,aaaa aaaaと本来の値を返すにはどうすればいいかわかる方いらっしゃいませんか.. もしわかる方いらっしゃたら教えて頂けたらすごくうれしいです(つj)

  • Runtime#proccessのwait

    //Batch part RunBatch(batchName); //sleep(1000); //B-part Systems.out.println("B-part"); --------------------------------------------------------- public void RunBatch(String BatchName)throws Exception {  Process pr = null;  Runtime runtime = Runtime.getRuntime();  pr = runtime.exec("cmd.exe /c start "+BatchName);  try {    int exitCode = pr.waitFor();    if(process != null) {      process.getErrorStream().close(); process.getInputStream().close(); process.getOutputStream().close(); process.destroy(); }  } catch (Exception e) {   e.printStackTrace();  } } このままですとバッチの処理が長い場合、処理が終了する前にB-partへ 処理が移行してしまいます。 とりあえずでwaitをかけてはいるのですが、完全にバッチ処理が終了 するまでB-partへ移行させない方法はありませんでしょうか? おそらくバッチファイルから結果出力させてJAVA側でフックするとは思うのですが、具体的にどう組めばいいのかが分かりません。

    • ベストアンサー
    • Java
  • どの例外でcatchすればいいのですか?

    例外の使い方を理解できていません。 さっき検索してみて下の質問と回答を見つけました。 例外処理がまったくわかりません!! http://www.okweb.ne.jp/kotaeru.php3?q=704380 この中の#2さんの回答、 >    catch (FileNotFoundException e){ ・・・ } >     catch (IOException e){ ・・・ } >   などと分けて書かなくとも、 >     catch (Exception e){ ・・・ } >   と書けば、すべての例外を処理できます。 を読むと「それなら、どんな例外でもすべて"(Exception e)"でcatchすればいいじゃん」と思うのですが駄目ですか? もし駄目ならどんな基準でExceptionを選んでいるのですか? 例えば、下のような二分検索木への挿入メソッドの場合、 どこでどのような例外を使ってcatchすればいいのですか? 私の思うような例外を入れてみましたが、どんなエラーが出るかも分からないし…。 だからと言ってthrow ~ catchを入れないとJBuilderが怒るんですよね…。 public void insert(int el) { IntBSTNode p = root, prev = null; try { while (p != null) { prev = p; if (p.key < el) p = p.right; else p = p.left; } if (root == null) root = new IntBSTNode(el); else if (prev.key < el) prev.right = new IntBSTNode(el); else prev.left = new IntBSTNode(el); } catch (Exception x) { System.out.println("エラーだ! 何か表示"); } } 分かる方、説明をお願いします。

    • ベストアンサー
    • Java