[
新規
] - [
ツリー
] - [
スレッド
] - [
未解決
] [
緊急
] [
優先
] - [
検索
] [
RSS
] - [
jsWaffle-TOP
]
jsWaffle質問掲示板(雑談やTips歓迎)
jsWaffleについて質問する掲示板です。(雑談や発見したTipsの投稿も大歓迎です!)
→
書き込み(
#311
)を編集する:
名前
タイトル
本文
ご指摘の通り時刻を設定することができましたが 根本的な質問ですが自分が作成したものではアプリ画面しか撮影できません。 Android本体のホーム画面に遷移した場合でも時間差などで撮影していますが アプリのスナップショットしか撮影できないのはなぜでしょうか? 出来れば別のアプリやHOME画面などを撮影できると便利なのですが・・・ 詳しい方出来ればご教授ください。 ※ 自分が書いたスナップショットという書き方が悪かったですね。 カメラ機能ではなくて画面をキャプチャする機能の事です。 サンプルソースでいうと <h2>Snapshot</h2> <div class="buttons"> <button onclick="showSnapshot()">Snapshot!!</button> </div> <script type="text/javascript"> function showSnapshot() { droid.vibrate(); var path = "file:///sdcard/test.png"; droid.snapshotToFile(path, "png"); setTimeout( function () { if (droid.fileExists(path)) { droid.startIntent(path); } else { alert("保存失敗!!"); } } ,500); } </script> この機能です。 やはりABasicPlugin側の /** * capture screen and save to file * @param filename * @param format png or jpeg * @return */ public boolean snapshotToFile(String filename, String format) { // snapshot Bitmap bmp = null; try { webview.setDrawingCacheEnabled(true); bmp = Bitmap.createBitmap(webview.getDrawingCache()); webview.setDrawingCacheEnabled(false); } catch (Exception e) { log_error("snapshot failed: " + e.getMessage()); return false; } if (bmp == null) { log_error("snapshot failed: bmp = null"); return false; } // save to file Bitmap.CompressFormat fmt = Bitmap.CompressFormat.PNG; format = format.toLowerCase(); if (format == "jpeg" || format == "image/jpeg") { fmt = Bitmap.CompressFormat.JPEG; } try { byte[] w = bmp2data(bmp, fmt, 80/*middle*/); boolean b = writeDataFile(filename, w); bmp.recycle(); // recycle !! return b; } catch (Exception e) { log_error("snapshot failed:" + e.getMessage()); return false; } } private static byte[] bmp2data(Bitmap src, Bitmap.CompressFormat format, int quality) { ByteArrayOutputStream os=new ByteArrayOutputStream(); src.compress(format,quality,os); return os.toByteArray(); } private boolean writeDataFile(String filename, byte[] w) throws Exception { OutputStream out = WaffleUtils.getOutputStream(filename, waffle_activity); if (out == null) throw new Exception("FileOpenError:" + filename); try { out.write(w, 0, w.length); out.close(); return true; } catch (Exception e) { out.close(); } return false; } この部分の改造が必要なのでしょうか?
困った度
普通
高
緊急
状態
質問
返信
解決
---
雑談
Tips
感想
告知
確認キー
お手数ですが、いたずら防止のために、半角数字で「8932」と入力してください。
編集キー
編集時に使うキーを入力(省略可能)
添付ファイル
画像ファイル(最大300KB)を添付可能