JSP_Blog

ジェイエスピー社員が綴る日替わりブログ

C# でバイナリエディタを作ってみた

2013-12-17 01:00:48 | 日記
 スキーシーズン到来。
 例年ならば、丸沼高原スキー場に行く時期なのだが、休出が重なってしまったため、車をスタットレスタイヤにすら履き替えていない。山が恋しいなぁと思いながら日々の業務に励んでます。
 さて、このブログの記事に今シーズンの初滑りのことを書くつもりでいたのだが、そんな時間はとれず。
書くことがなくなってしまった。どうしたものか。。。
 
そうだ、バイナリエディタを作ろう(笑)
すみません。深い意味は無いです。業務で初めてC#と言うかVisual Studioに触ることになったので、お勉強がてらバイナリエディタもどきを作ってみました。






で、作成したもので、弊社のロゴ(PNG画像)を読み込んでみました。

なぜ、PNG画像かって?
それはフォーマットが簡単で、チャンクに色をつけると
はったり見栄えがいいでしょ(笑)

20行でこの素晴らしさ!!


// チャンクの色変更
String[] pngChunks = {
   "PNG", "IHDR", "PLTE", "IDAT", "IEND", // 必須チャンク
   "bKGD", "iCCP", "sRGB" };       // 補助チャンク
foreach (String chunk in pngChunks)
{
  int idx = 0;
  do
  {
   idx = richTextBox1.Find(
   chunk, idx, RichTextBoxFinds.MatchCase);
   if ( idx > 0)
   {
    Color old = richTextBox1.SelectionBackColor;
    richTextBox1.SelectionBackColor = Color.Red;
    idx = richTextBox1.SelectionStart
      + richTextBox1.SelectionLength;
    richTextBox1.SelectionLength = 0;
    richTextBox1.SelectionBackColor = old;
   }
  } while (idx > 0);
}


自画自賛したところで、今週末は、コードではなく雪に埋もれたいと思いつつ終わります。(大)

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 記憶の記録 | トップ | 昇降式ホームドアの検証実験 »
最新の画像もっと見る

コメントを投稿

日記」カテゴリの最新記事