Submit Search
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
3 likes
1,522 views
nakamura001
第3回Webkit/HTML5勉強会で発表した「File APIと加速度センサー」のプレゼン資料。 ※プレゼン資料だけで理解出来るように一部修正有り。
Education
Technology
Read more
1 of 36
Download now
Downloaded 27 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
More Related Content
PDF
200319 eash python_shareslide_functions
Hiroki Katayama
PDF
JavaScript入門
Ryo Maruyama
PDF
Javaセキュアコーディングセミナー東京第3回演習
JPCERT Coordination Center
PPTX
Drag anddropfilereader
Daichi Nakajima
PDF
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
de:code 2017
PDF
研究生のためのC++ no.7
Tomohiro Namba
PDF
研究生のためのC++ no.2
Tomohiro Namba
PDF
BMXUG ブロックチェーンハンズオン 20190622
Kohei Nishikawa
200319 eash python_shareslide_functions
Hiroki Katayama
JavaScript入門
Ryo Maruyama
Javaセキュアコーディングセミナー東京第3回演習
JPCERT Coordination Center
Drag anddropfilereader
Daichi Nakajima
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
de:code 2017
研究生のためのC++ no.7
Tomohiro Namba
研究生のためのC++ no.2
Tomohiro Namba
BMXUG ブロックチェーンハンズオン 20190622
Kohei Nishikawa
What's hot
(20)
PPTX
前期講座09
Takenori Nakagawa
PDF
メタメタプログラミングRuby
emasaka
PDF
Python で munin plugin を書いてみる
ftnk
PDF
Subprocess no susume
Makoto Kishimoto
PDF
Haskell超初心者勉強会11
Takashi Kawachi
PDF
Goをカンストさせる話
Moriyoshi Koizumi
PDF
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
Fujio Kojima
PDF
OSSから学ぶSwift実践テクニック
庸介 高橋
KEY
Ll xcode
Net Kanayan
PDF
Javaセキュアコーディングセミナー東京第3回演習の解説
JPCERT Coordination Center
PPTX
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
PDF
Haskell で CLI
Nobutada Matsubara
PPT
Glibc malloc internal
Motohiro KOSAKI
PPT
Task
Shingo Nakamura
PDF
Rakuten tech conf
Koichi Fujikawa
PPTX
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Fujio Kojima
PDF
Javaセキュアコーディングセミナー東京第2回演習の解説
JPCERT Coordination Center
PDF
JavaScript 勉強会 ― 変数・演算子・文
Appresso Engineering Team
PDF
Mock and patch
Toru Furukawa
PDF
Go conference 2017 Lightning talk
mokelab
前期講座09
Takenori Nakagawa
メタメタプログラミングRuby
emasaka
Python で munin plugin を書いてみる
ftnk
Subprocess no susume
Makoto Kishimoto
Haskell超初心者勉強会11
Takashi Kawachi
Goをカンストさせる話
Moriyoshi Koizumi
C# ドキドキ ライブ コーディング!! ~ 小島の分 ~ | BuriKaigi 2020
Fujio Kojima
OSSから学ぶSwift実践テクニック
庸介 高橋
Ll xcode
Net Kanayan
Javaセキュアコーディングセミナー東京第3回演習の解説
JPCERT Coordination Center
ナウなヤングにバカうけのイカしたタグ付き共用体
digitalghost
Haskell で CLI
Nobutada Matsubara
Glibc malloc internal
Motohiro KOSAKI
Task
Shingo Nakamura
Rakuten tech conf
Koichi Fujikawa
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Fujio Kojima
Javaセキュアコーディングセミナー東京第2回演習の解説
JPCERT Coordination Center
JavaScript 勉強会 ― 変数・演算子・文
Appresso Engineering Team
Mock and patch
Toru Furukawa
Go conference 2017 Lightning talk
mokelab
Ad
Viewers also liked
(6)
PDF
サーバ構築自動化 On aws sqaleの場合
Ryo Kuroda
PPTX
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Kenta Suzuki
PDF
Munin manager - monitering casual talk #2
Ryo Kuroda
PDF
スマートフォン対策ビジネスセミナー
Tetsuya Shiraishi
PDF
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
Tetsuya Shiraishi
PDF
テスト環境まるごとAwsにのっけてみた
Kazuaki Fujikura
サーバ構築自動化 On aws sqaleの場合
Ryo Kuroda
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Kenta Suzuki
Munin manager - monitering casual talk #2
Ryo Kuroda
スマートフォン対策ビジネスセミナー
Tetsuya Shiraishi
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
Tetsuya Shiraishi
テスト環境まるごとAwsにのっけてみた
Kazuaki Fujikura
Ad
Similar to 第3回Webkit/HTML5勉強会 - File APIと加速度センサー
(20)
PDF
Node-v0.12の新機能について
shigeki_ohtsu
PDF
Ajax 応用
Katsuyuki Seino
PDF
jQuery超入門編
Yasuhito Yabe
PPTX
HTML5&API総まくり
Shumpei Shiraishi
PDF
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
Taisuke Fukuno
PDF
ちょっと詳しくJavaScript 第2回【関数と引数】
株式会社ランチェスター
PDF
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
PDF
Apache Torqueについて
tako pons
PDF
Data api workshop at Co-Edo
Yuji Takayama
KEY
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
PDF
Html5 Web Applications
totty jp
PDF
速くなければスマフォじゃない - インターンバージョン-
Kazunari Hara
PPTX
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka
PPTX
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
PPTX
Java EE8 Report
Norito Agetsuma
PDF
初めての Data api cms どうでしょう - 大阪夏の陣
Yuji Takayama
PDF
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
PDF
明日から使える Java SE 7
Yuichi Sakuraba
PDF
Android Lecture #03 @PRO&BSC Inc.
Yuki Higuchi
PPTX
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Node-v0.12の新機能について
shigeki_ohtsu
Ajax 応用
Katsuyuki Seino
jQuery超入門編
Yasuhito Yabe
HTML5&API総まくり
Shumpei Shiraishi
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
Taisuke Fukuno
ちょっと詳しくJavaScript 第2回【関数と引数】
株式会社ランチェスター
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
Apache Torqueについて
tako pons
Data api workshop at Co-Edo
Yuji Takayama
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
Html5 Web Applications
totty jp
速くなければスマフォじゃない - インターンバージョン-
Kazunari Hara
Chrome Extensionsの基本とデザインパターン
Yoichiro Tanaka
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
Java EE8 Report
Norito Agetsuma
初めての Data api cms どうでしょう - 大阪夏の陣
Yuji Takayama
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
明日から使える Java SE 7
Yuichi Sakuraba
Android Lecture #03 @PRO&BSC Inc.
Yuki Higuchi
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
第3回Webkit/HTML5勉強会 - File APIと加速度センサー
1.
第3回 Webkit/HTML5勉強会 File APIと加速度センサー
nakamura001 2010/02/17
2.
File API
3.
Firefox 3.6で
使えます
4.
デモ http://tsuyobi.heteml.jp/html/firefox/file_api/bitmap_info/
5.
イベントリスナーの登録 dropbox = document.getElementById("dropbox"); dropbox.addEventListener("dragover",
dragover, true); dropbox.addEventListener("drop", drop, true);
6.
Drag Over時の処理 dropbox.addEventListener("dragover", dragover,
true); function dragover(e) { // イベントのさらなる伝播を止める e.stopPropagation(); // ブラウザのアクションを動作させない e.preventDefault(); }
7.
Drop時の処理 function drop(e) {
var dt = e.dataTransfer; var files = dt.files; if (files.length > 0) { var binaryReader = new FileReader(); binaryReader.onloadend = function() { var file = files[0]; (ここでファイルに対する処理を実行) } binaryReader.readAsBinaryString(files[0]); } }
8.
ファイルに対する処理 var binaryReader =
new FileReader(); binaryReader.onloadend = function() { info_msg = info_msg + "size : " + file.size + "n"; info_msg = info_msg + "type : " + file.type + "n" pos = 0; var c = binaryReader.result.charCodeAt(pos); }
9.
ファイルに対する処理 var binaryReader =
new FileReader(); binaryReader.onloadend = function() { info_msg = info_msg + "size : " + file.size + "n"; info_msg = info_msg + "type : " + file.type + "n" ファイルのどの位置からデータを取得するかを指定 pos = 0; var c = binaryReader.result.charCodeAt(pos); }
10.
少々、面倒な事が…
11.
1Byteずつしか 読めない
12.
intやlongなどの データはどうする?
13.
サンプルは どうしてる?
14.
JPEGファイルから Exif情報を読み込む
サンプル http://demos.hacks.mozilla.org/openweb/FileAPI/
15.
良い感じのライブラリに なってる事を発見
16.
exif.js
17.
パクっ活用させて貰おう
18.
ライセンスはMPL
19.
素晴らしい!!
20.
取得できるデータ 関数名
データ getByteAt Byte(符号無し) getShortAt Signed Short(符号有りの16bit) getSLongAt Signed Long(符号有りの32bit) getLongAt Unsigned Long(符号無し32bit) getStringAt 文字列データ
21.
テキストファイルのとき text
= file.getAsText("utf-8"); 【参考サイト】Firefox3.6βで利用できるFile APIの可能性について:マピオンラボ(Javascript) http://labs.mapion.co.jp/blog/javascript/firefox36file_api.php
22.
テキストファイルのとき
文字のエンコードを指定 text = file.getAsText("utf-8"); 【参考サイト】Firefox3.6βで利用できるFile APIの可能性について:マピオンラボ(Javascript) http://labs.mapion.co.jp/blog/javascript/firefox36file_api.php
23.
加速度センサー
24.
すみません、
これも現在は Firefox 3.6だけが対応
25.
しかも対応するパソコンは 最近のMacのノートと 一部のThink
Pad
26.
デモ http://tsuyobi.heteml.jp/html/firefox/orientation_event/index2.html
27.
使い方は至って簡単
28.
使い方 function handleOrientation(orientData) {
var x = orientData.x; var y = orientData.y; var z = orientData.z; } window.addEventListener("MozOrientation", handleOrientation, true); ・addEventListenerで追加するだけ ・X,Y,Zの3つの軸の加速度が取得可能
29.
1つだけ注意!!
30.
ノイズが出る事が 有るみたい
31.
デモ http://tsuyobi.heteml.jp/html/firefox/orientation_event/index2a.html
32.
対策
33.
ローパスフィルタ
34.
ローパスフィルタ function handleOrientation(orientData) {
var accel_scale = 500.0; var filter_val = 0.1; pos_x = (orientData.x*accel_scale * filter_val) + (pos_x * (1.0 - filter_val)); pos_y = (orientData.y*accel_scale * filter_val) + (pos_y * (1.0 - filter_val)); この処理により、加速度の値は徐々に反映され るようになり急激な変化の値が直接反映されな くなる。
35.
ローパスフィルタ function handleOrientation(orientData) {
var accel_scale = 500.0; var filter_val = 0.1; pos_x = (orientData.x*accel_scale * filter_val) + (pos_x * (1.0 - filter_val)); pos_y = (orientData.y*accel_scale * filter_val) + (pos_y * (1.0 - filter_val)); とりあえず、 この処理により、加速度の値は徐々に反映され るようになり急激な変化の値が直接反映されな この式を挟んでおけばOK くなる。
36.
その他、関連資料はこちら http://www32.atwiki.jp/nakamura001/pages/82.html
Download