• 検索結果がありません。

勉強会 資料 Google Developer Group 京都 yotogtug lt yoshida

N/A
N/A
Protected

Academic year: 2018

シェア "勉強会 資料 Google Developer Group 京都 yotogtug lt yoshida"

Copied!
28
0
0

読み込み中.... (全文を見る)

全文

(1)

吉田研一

App Inventor の色指定アルゴリズムを

理解し色指定しやすくしてみる

京都GTUG 2011年忘れ勉強会

2011/12/18 (日)

(2)

自己紹介

吉田研一 (44 years old)

奈良在住(来年中に姫路)

ECCコンピュータ専門学校(大阪)講師

JAG神戸 & GTUG神戸メンバー

(3)

近況 11/12 KOF

「勉強会&イベント

探訪記」より

(4)

App Inventor って?

前説

(5)

GUI プログラミング

ブロックを配置してプログラミング

(6)

ブラウザでレイアウト

コードレス code-less 開発環境

(7)

最近起動時にこんなダイアログが

なんスか?

(8)

今年いっぱいで終了orz

This serverって…

(9)

Google サーバ側でビルドしてた

誰でもAndroid開発できるApp Inventorの基礎知識(1/3) - @IT http://bit.ly/ur8mNa

(10)

オープンソース化に期待

MITに移管されます。2012年3月から。

その間は日本App Inventorユーザ会で 

互助会的なサーバをたちあげる。準備中

で、Google Technologyじゃなくなっ

ちゃうけど。このLTはします。

(11)

本題

App Inventorの独自カラー指定

(12)

プリセット色は15色

(13)

それ以外の色は計算する

ひとつの例として、パープルの暗い影の R、

G 、B の値は、R = 160、G = 32、B = 240 で

す。Opacity を 255 にしてこれらの値にアルゴ

リズムを適用すると、−6283024 という値が得

られます。

4.2.7 カラーブロック - ソフトウェア技術ドキュメントを勝手に翻訳 http://bit.ly/sisAxa

(14)

こんな感じです。

ホントいわゆるMagic Number… (゚Д゚¦¦¦)

(15)

独自カラーアルゴリズム

App Inventor 用のカラー番号を得るには、以下のアルゴリ ズムに従って、4 つの数を組み合わせます。

1.Opacity からはじめる。

2.これを 256 倍して R を加える。 3.結果を 256 倍して G を加える。 4.結果を 256 倍して B を加える。

5.結果を取り出し 168 = 4294967296 を引く。

6.その結果の ( 負の ) 数が App Inventor で使用する値となる。

#AARRGGBB

形式らしい

Opacity=α

(16)

計算してみる(1)準備

Opacity を 255 = ( FF)

16

R = 160 = (A0)

16

G = 32 = (20)

16

B = 240 = (F0)

16

(17)

計算してみる(2)

1.Opacity からはじめる。

Opacity を 255 = ( FF)

16

2.これを 256 倍して R を加える。

R = 160 = (A0)

16

これを 256 倍して

(FF)

16

× (100)

16

= (FF00)

16

 ∵ 256 = (100)

16

= 16 ^ 2 桁シフト

R を加える。

(FF00)

16

+ ( A0)

16

= (FF A0)

16

(18)

計算してみる(3)

3.結果を 256 倍して G を加える。

G = 32 = (20)

16

(FF A0)

16

× (100)

16

= (FF A000)

16

(FF A000)

16

+ ( 20)

16

= (FF A020)

16

4.結果を 256 倍して B を加える。

B = 240 = (F0)

16

(FF A020)

16

× (100)

16

= (FF A02000)

16

(FF A02000) + ( F0) = (FF A020F0)

(19)

計算してみる(4)最後

5.結果を取り出し 168 = 4294967296 を引く。

16 8 = 4294967296 = (100000000)

16

(FF A020F0)

16

- (100000000)

16

の計算は

FFA020F0

-) 100000000

FFFFFFFFFFA020F0

        

になります。え (゚Д゚;)

(20)

桁借り(borrow)

65 ビット目の桁を借りて減算

10

100000000FFA020F0 10

-)0000000100000000 -) 1

FFFFFFFFFFA020F0 F

オーバーフロービット

(21)

One-Padding (1埋め)

5.結果を取り出し 168 = 4294967296 を引く。

(FF A002F0)

16

- (100000000)

16

= (FFFFFFFFFF A020F0)

16

    

#FFFFFFFF AARRGGBB 形式!

上位32ビットはAll 1ビットでPadding

(22)

2 の補数

6.その結果の ( 負の ) 数が App Inventor で使用する値となる。

(FFFFFFFFFF A020F0)

16

最上位ビット(64ビット)が1のためsigned longの場合2の補 数(反転して1を加算)をとれば、数値が取り出せる

2の補数は (00000000005FDF10)

16

= 6283024

(23)

まぁ、面倒くさい

アプリ作った

・公開します(後述)

(24)

ちょっと改良版

(25)

そんでも面倒なんで

カラーチャート作って公開します。

(26)

12 月20日(火)当番に!

(27)

オープンソースになったら

colorNumberの Built-inブロックを実装したいね

(28)

ご清聴ありがとうございました!

参照

関連したドキュメント

2012年11月、再審査期間(新有効成分では 8 年)を 終了した薬剤については、日本医学会加盟の学会の

継続企業の前提に関する注記に記載されているとおり、会社は、×年4月1日から×年3月 31

並んで慌ただしく会場へ歩いて行きました。日中青年シンポジウムです。おそらく日本語を学んでき た

 右上の「ログイン」から Google アカウント でログインあるいは同じ PC であると⼆回⽬以

Google マップ上で誰もがその情報を閲覧することが可能となる。Google マイマップは、Google マップの情報を基に作成されるため、Google

二月八日に運営委員会と人権小委員会の会合にかけられたが︑両者の間に基本的な見解の対立がある

 本研究では,「IT 勉強会カレンダー」に登録さ れ,2008 年度から 2013 年度の 6 年間に開催され たイベント

本協定の有効期間は,平成 年 月 日から平成 年 月