M1000奮闘中 

2005年10月28日(金) 13時22分
DoCoMoのM1000が手に入ったので、
JAVAを使って色々やってみてるのですが、
いかんせんわけわからん。

とりあえず資料少なすぎ!!

何ができて何ができないのかすらわからん。

あとさっきAPI 眺めてて思ったんだけど、
JAVAで内部ファイルアクセスってできない?
レコードストアだけ使えって??

そして当たり前のようにM1000のUSB はJAVAから制御できない??


お願い、できないならできないっていって。
手探りで行くのもそろそろ限界近いから・・・。

ってかAPI ない時点でできないだろって話なのだが、
「いや〜 違う方法があるんでごわすよ」
とかいわれた日にゃぁ、 ねぇ。

「書いとけよ」とつっこみたいが、
「常識でしょう?」の一言で終わられそう。。。

まさかここまで苦戦するとは思わなかった。

M1000 恐ろしい子!!


はぁ。。。

そして完成(?)へ 

2005年08月28日(日) 22時58分
あれからHTMLファイルの最適化を図るため、色々な方法を試しましたので、
結果発表いきたいと思います。

なお、ここでいうHTMLファイルの最適化とは、
HTMLファイルサイズを小さくすることです。

HTMLファイルを小さくするには、
中に書いてあるHTMLタグを減らせばよいのです。

問題は、どうやって減らすかなんですがね。


今回の圧縮を調べるのに使用した画像はこれです。



元BMPファイルサイズ
138,654byte(138kb)

1.無圧縮時
3,929,834byte(3.9M)


無圧縮時のサイズ容量は、反則的なものでした。

圧縮に際して、
まず試したのはデバッグ用に入れていたHTMLソースコードの改行を取ることでした。

まだテレホーダイだった古の頃には、
みなさん行った一般的な方法ですよね?
ということで、改行を取るとこうなりました。

2.改行削除
3,836,580byte(3.8M)


う〜〜ん、微妙。
ちっさくはなったけど、なったけどぉって感じの、
なんとも酸っぱい結果になりました。


その次に思ったのが、
テーブルの幅・高さを1pxに保つため、
各セルにスタイルシートを一個ずつ書いてたのですが、
このスタイルシートの設定を
HTMLヘッダ部分に押し上げてしまおうという方法です。
その結果がこれです。


3.スタイルシートをHEADに設定
1.897.116byte(1.9M)



ものすげぇ〜〜〜
スタイルシートヘッダに持ってっただけで約2M減ったよ。
スタイルシート 恐ろしい子。

しかもこれで改行なんか取っちゃった日には

4.スタイルシートをHEADに設定 + 改行抜き
1.803,850byte(1.8M)


うん、あんま変わらなかったね。


個人的には、この時点でかなり満足度高く、
これでいいかなぁなんて思ってたんですが、
なんとなく、1Mの壁を越えたいという衝動に駆られ、
なんとか次の秘策を考えました。

HTML吐き出し部分の作成 

2005年08月27日(土) 19時50分
ここまで来ればあとちょっとです。
HTMLはお手の物なので、
ささっと吐き出し部分作成しました。

できあがりがこれです。



画像にしたらわかんねぇっての。

でもソースそのままじゃサイズ超えちゃうしなぁ。
ちなみに今の状態でこの画像のファイルサイズ3.2Mあります。

もとのBMPは135Kなのにね。

とまぁ、そんな感じで、次からはこれの圧縮を考えていきたいと思います。

目標はもとのBMPより軽くすることです。(嘘です。)

あと、最後のとこに軽い画像をテーブルアーターでテーブル化したやつのせときますね。

BMPファイル読み込み開始 

2005年08月27日(土) 16時05分
さて、BMPのファイル解析も終了したので、
さっそく読み込み部分作成です。

BMP読み込み部分をなんとか作成し、さっそくテストです。
読み込むテストファイルとして、以下のような画像を作成。



で、読み込んでみるのですが、予想通りエラー落ち。
さぁなんでだろうとデバッグ開始したのですが、
そこでとても不可思議な現象が発生しました。

なぜかデータ部分がすべて「0」なのです。

今回は3バイト区切りの色保持を行っているので、
3回のうち一回は必ず 255(0xFF) が帰ってくると思ってたのですが、
すべて0 なんです。

これじゃ真っ黒い四角になっちゃうっつ〜の。(エラーで動いてないけど)

で、バイナリエディタで中身とにらめっこしながら、
一箇所、FFの部分 を 18 に変えてみたら、
あらびっくり、0 ではなく 24(0x18)が読み込めたんですよ。

ということは、読み込んでる部分に問題ありそう、
ってことで、さっそく調査です。

調査結果
バイナリファイルを読み込むときは、System.IO.StreamReader.Read() ではなく、
System.IO.BinaryReader.ReadByte() を使う。


や、StreamReaderって文字用だからおかしいなとは思ってたんですが、
なんかそれっぽいのが取れてたので安心してたんですけどね。

やっぱ手抜きはダメでした。

// バイナリファイルを読み込み
System.IO.FileStream fs = new System.IO.FileStream(strFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.BinaryReader rd = new System.IO.BinaryReader(fs);


で、すべてReadByteに書き換えて再度実行したところ、
こんだエラーが発生しませんでした。

今の段階では出力部分をまだ作ってなかったので、
とりあえずピクチャーボックスに読み込んだ色情報を
そのまま吐き出すということで、
ちゃんと読み込めてるかどうかを確認してみました。

結果がこれです。(拡大してます。)




すっごいカラフル。

BMP解析 

2005年08月27日(土) 14時05分
ということで、
さっそくBMPファイルフォーマットを調べることにしました。

ネットって便利だわぁ。
お家にいながら捜し物が見つかるんですからね。

前なら図書館に行って一日潰すぐらいの勢いだったのに。

で、さっそく発見しました。

しかししかし、BMPあなどることなかれ。
ファイル種別・ファイルサイズ・横幅・縦幅ぐらいの情報しかないと思ってたんですが、
ヘッダにたんまり情報はいってました。

しかもBMPって圧縮してたり、形式違ったりするみたいです。

全部に対応するとなると、
BMPクラス自作するのと一緒になるので、
さすがにそれは非効率的かと思い、(めんどいしね)
Windowsのペイントで保存したBMPが読み込めるだけにターゲットを絞ることにしました。

以下、BMPのファイルフォーマット

作成開始!! 

2005年08月26日(金) 23時52分
みなさんはテーブルアートというものをご存じでしょうか?

HTMLのテーブルタグのみで画像を表現するという
なんとも甘酸っぱく、気力と根性のみのものです。

ちなみに抄乃も挑戦したことがあったのですが、
10px ぐらいの青い丸書くだけで小一時間潰しました。

でも世の中すごいもので、
ものっすごい、
本当にすごいものを書く人がいます。

「これは手書きで書くからこそなんだろうなぁ。」
「まさに職人だなぁ。」

なんて感動してたのですが、
ある日、そういうの作るツールがあるのだと知り、
一人枕をぬらした経験があります。

で、月日は流れ、だいぶたった今、
なぜかそのテーブルアート作成ツールを
いまさら自前で作ってみようと思ったのが、
この企画(?)です。

開発コード 「テーブルアーター



----------------------------
仕様
----------------------------

1.BMPファイルを読み込む
2.そのBMPをそのままHTMLで表現する。


この二つだけです。

でもこのままではあまりにも色気がないので、
もう2つ追加しました。

----------------------------
追加仕様
----------------------------

1.なぜかBMPは自力で解析する。
2.できあがるHTMLは極力最適化をかける。


先に言わせてもらうと、
この追加仕様は完全に趣味です。


というわけで、次からさっそくテーブルアーターを
作り始めていきま〜す。

今日から始めます。 

2005年08月26日(金) 23時44分
はじめまして、抄乃です。
しょうの って読みます。

このブログでは、
抄乃が思いつきで考えたソフトを作っていく課程を書いていこうかなと思ってます。

開発環境は、
「Windows XP + .Net Framework + C#」
です。
今をときめく(?) C#です。

こういうのって目標がないと続かないものなので、
一応目標的なものは持ってます。

目標
「3Dで書かれたキャラがなんかネット通じて動く」


最終目標はここです!!

ちなみに今の抄乃のスキルは掲示板とかなら作れるLVです。

早い話、Webプログラムはそこそこ知ってるんですが、
ローカルアプリはからっきしのぺらっぺらってことです。

そんなこんなで、
このブログ見る人いるかかなり謎ですが、(公開予定ないし)
ひとつ よろしくお願いしますね。


あと、表で童話王国っていうネットゲームもやってて、
それのブログも書いてます。


ちなみにこのブログが裏です
作ろうとしてるって?
ここは抄乃がいろんなソフトを作っていく 課程を書いているブログです。

私自身は誰かに向けて書くわけではありませんが、 これが誰か困ってる人の助けになれば、 ちょっと嬉しいです。

助けになるかどうかは知りませんが。

2005年10月
« 前の月  |  次の月 »
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
最新コメント
アイコン画像抄乃
» HTML吐き出し部分の作成 (2005年10月28日)
プロフィール
  • プロフィール画像
  • アイコン画像 ニックネーム:izam2
読者になる
Yapme!一覧
読者になる