<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C#</title><link>http://blogs.wankuma.com/ch3cooh/category/1145.aspx</link><description>C#関係の日記です。</description><managingEditor>CH3COOH</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>CH3COOH</dc:creator><title>[C#][日常]C#子さん</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/07/28/150707.aspx</link><pubDate>Mon, 28 Jul 2008 22:36:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/07/28/150707.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/150707.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/07/28/150707.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/150707.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/150707.aspx</trackback:ping><description>&lt;p&gt;MISAOの中の人に4コマを書けと言われたので、主役のC#子(しーしゃー・ぷこ)さんのキャラデザについて相談していました。体調不良の体を押してやる気いっぱい考えてみました。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/CC_13DAD/7eb454474619.jpg"&gt;&lt;img title="新規ビットマップ イメージ" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="517" alt="新規ビットマップ イメージ" src="http://ch3cooh.wankuma.com/dialy/img/CC_13DAD/_thumb.jpg" width="312" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/CC_13DAD/2.jpg"&gt;&lt;img title="新規ビットマップ イメージ2" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="310" alt="新規ビットマップ イメージ2" src="http://ch3cooh.wankuma.com/dialy/img/CC_13DAD/2_thumb.jpg" width="277" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;鼻水と咳が止まりません。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/150707.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C#]正規表現を使って文字列を抽出してみた</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/07/27/150558.aspx</link><pubDate>Sun, 27 Jul 2008 19:57:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/07/27/150558.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/150558.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/07/27/150558.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/150558.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/150558.aspx</trackback:ping><description>&lt;p&gt;Cで言うところのsscanf()って、C#でどうすれば良いの？って質問した事がありました。&lt;/p&gt; &lt;p&gt;その時は、「正規表現でやれば良いんじゃない？」と回答を貰ったのですが、&lt;br&gt;「正規表現……しらね」で終わっていたのですが、&lt;br&gt;今日になって必要になったので必死に調べました。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;htmlデータが入った文字列htmlがあるとして、&lt;br&gt;中にあるmovieタグのvalueの値を取得する場合のコードです。&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:87184d82-94f0-40c6-8524-e47fe82c69c8" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;            // using System.Text.RegularExpressions;
            // を宣言しておくこと。

            Regex reg = new Regex("&amp;lt;param name=\"movie\" value=\"(?&amp;lt;url&amp;gt;.*)\" /&amp;gt;");

            if (!reg.IsMatch(html))
            {
                return;
            }

            Match match = reg.Match(html);
            string videoUrl = match.Groups["url"].ToString();&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/150558.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C#][Java]アクセサについて</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/07/25/150430.aspx</link><pubDate>Fri, 25 Jul 2008 22:18:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/07/25/150430.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/150430.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/07/25/150430.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/150430.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/150430.aspx</trackback:ping><description>Windows Mobileアプリを作る時には、C#を使っていてプロパティを普通に使っていました。 &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:87f91b3b-5a60-4dec-8715-df6f8228107f" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;class Hoge
{
    private Boolean _hoge;
    public Boolean hoge
    {
        get { return this._hoge; }
        set { this._hoge = value; }
    }
}&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Javaではプロパティは使えない[*1]様ですので、一般的に使われている方法としては、setXXXX/getXXXXと命名されたメソッドを介して、フィールドにアクセスします。&lt;/p&gt;
&lt;p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:ef7d0df1-5ee8-4ab2-945b-4ccb0ebcbc21" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="java"&gt;class hoge {
    private boolean hoge;

    public boolean isHoge() {
        return hoge;
    }

    public void setHoge(boolean hoge) {
        this.hoge = hoge;
    }
}&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;凪瀬さんに教えて頂いたところ、Java7でプロパティに対応するとの事です。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[*1]&lt;br&gt;&lt;a href="http://blogs.wankuma.com/nagise/archive/2008/05/07/136724.aspx"&gt;publicフィールドからプロパティまで&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/150430.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[Windows Mobile][C#]Tips：電波強度(電波レベル)を取得する</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/07/18/149477.aspx</link><pubDate>Fri, 18 Jul 2008 07:42:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/07/18/149477.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/149477.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/07/18/149477.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/149477.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/149477.aspx</trackback:ping><description>&lt;p&gt;Windows Mobile端末は、常に網と接続されているとは限りません。その為、充電レベルを取得する仕組みが用意されています。  &lt;p&gt;今回は、電波感度(電波レベル)を取得する方法をご紹介します。  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/Windows_12A0/pic1.png"&gt;&lt;img title="pic1" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="199" alt="pic1" src="http://ch3cooh.wankuma.com/dialy/img/Windows_12A0/pic1_thumb.png" width="360" border="0"&gt;&lt;/a&gt; &lt;br&gt;上記の様にコントロールを配置しました。&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[参照の追加]より、&lt;br&gt;&lt;strong&gt;Microsoft.WindowsMobile&lt;br&gt;Microsoft.WindowsMobile.Status&lt;/strong&gt;&lt;br&gt;を参照設定に追加します。  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c85e9ab1-3e19-40e5-868a-9e0717fa7201" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;private void button1_Click(object sender, EventArgs e)
{
    // 電波強度を取得する
    int signalStrength = SystemState.PhoneSignalStrength;

    // textBox1に取得した電波強度を表示させる
    textBox1.Text = string.Format("{0}", signalStrength);
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/Windows_12A0/Tips_pict2.jpg"&gt;&lt;img title="Tips：電波強度(電波レベル)を取得する_pict2" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="96" alt="Tips：電波強度(電波レベル)を取得する_pict2" src="http://ch3cooh.wankuma.com/dialy/img/Windows_12A0/Tips_pict2_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;br&gt;button1をクリックする事で電波強度を表示させる事が可能です。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;参照：&lt;br&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.status.systemstate.phonesignalstrength.aspx"&gt;SystemState.PhoneSignalStrength Property (Microsoft.WindowsMobile.Status)&lt;/a&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/149477.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[Windows Mobile][C#]Tips：バッテリィレベル(充電レベル)を取得する</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/07/16/149033.aspx</link><pubDate>Wed, 16 Jul 2008 00:15:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/07/16/149033.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/149033.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/07/16/149033.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/149033.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/149033.aspx</trackback:ping><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Windows Mobile端末は、常に電源と接続されているとは限りません。その為、バッテリィレベル(充電レベル)を取得する仕組みが用意されています。  &lt;p&gt;今回は、バッテリィレベル(充電レベル)を取得する方法をご紹介します。  &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileCTips_135FB/pic1.png"&gt;&lt;img title="pic1" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="199" alt="pic1" src="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileCTips_135FB/pic1_thumb.png" width="360" border="0"&gt;&lt;/a&gt;&amp;nbsp; &lt;br&gt;上記の様にコントロールを配置しました。  &lt;p&gt;&amp;nbsp; &lt;p&gt;[参照の追加]より、&lt;br&gt;&lt;strong&gt;Microsoft.WindowsMobile&lt;br&gt;Microsoft.WindowsMobile.Status&lt;br&gt;&lt;/strong&gt;を参照設定に追加します。  &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:9e070e5f-e3a3-440d-8250-04f1d55fa9ea" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;using Microsoft.WindowsMobile.Status;

private void button1_Click(object sender, EventArgs e)
{
    string powerBatteryStrength = string.Empty;

    switch (SystemState.PowerBatteryStrength)
    {
        case BatteryLevel.VeryHigh:
            // バッテリィレベルが非常に高い
            powerBatteryStrength = "VeryHigh: 81-100%";
            break;
        case BatteryLevel.High:
            // バッテリィレベルが高い
            powerBatteryStrength = "High: 61-80%";
            break;
        case BatteryLevel.Medium:
            // バッテリィレベルが通常
            powerBatteryStrength = "Medium: 41-60%";
            break;
        case BatteryLevel.Low:
            // バッテリィレベルが低い
            powerBatteryStrength = "Low: 21-40%";
            break;
        case BatteryLevel.VeryLow:
            // バッテリィレベルが非常に低い
            powerBatteryStrength = "VeryLow: 0-20%";
            break;
        default:
            powerBatteryStrength = "Err:";
            break;
    }

    // textBox1に取得したバッテリィレベルを表示させる
    textBox1.Text = powerBatteryStrength;
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileCTips_135FB/pic2.png"&gt;&lt;img title="pic2" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="411" alt="pic2" src="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileCTips_135FB/pic2_thumb.png" width="532" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;（自分の環境でしか試験を行っていないので、他のPCでも同様かの保証は出来ませんが、）[Battery:]を変更しても、即設定値が変更されないようでしたので、一旦ソフトリセットして後、結果が変更されているのを確認しました。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileCTips_135FB/pic3.png"&gt;&lt;img title="pic3" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="210" alt="pic3" src="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileCTips_135FB/pic3_thumb.png" width="360" border="0"&gt;&lt;/a&gt; &lt;br&gt;button1をクリックする事でバッテリィレベルを取得する事が出来ました。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;参照：&lt;br&gt;&lt;a href="http://msdn.microsoft.com/ja-jp/library/microsoft.windowsmobile.status.batterylevel(en-us).aspx"&gt;BatteryLevel Enumeration (Microsoft.WindowsMobile.Status)&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/149033.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C#]シャッフルさせてみたよ</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/07/09/148056.aspx</link><pubDate>Wed, 09 Jul 2008 00:15:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/07/09/148056.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/148056.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/07/09/148056.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/148056.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/148056.aspx</trackback:ping><description>&lt;P&gt;7月7日は七夕でしたね。皆様、あまのじゃくは見れましたか？大阪はあいにくのお天気で見る事が出来ませんでした。&lt;BR&gt;なんやらソート祭りの感がありますが、ソート済み配列をバラバラにしてみます。&lt;/P&gt;
&lt;P&gt;その昔に、フィリピン大の学生にシャッフルするんだったら、こんな感じにしてみたらどう？って言われたのを思い出した。&lt;/P&gt;
&lt;P&gt;結構前の事なので変に記憶していて、その子の意図と違うアルゴリズムと異なるかもしれないけど、&lt;BR&gt;ソート済みのlistAをシャッフルしてlistBに突っ込むのをC#で書いてみた。&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:812469c5-0cb0-4c63-8c15-c81123a09de7:f5f9567f-e2c5-4081-8486-4c49a2f33320 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE class=c# name="code"&gt;using System;
using System.Collections.Generic;
using System.Text;
namespace Shuffle
{
    class Program
    {
        /// &amp;lt;SUMMARY&amp;gt;
        /// ソート済み配列をシャッフルしる
        /// &amp;lt;/SUMMARY&amp;gt;
        /// &amp;lt;PARAM name=&amp;quot;data&amp;quot;&amp;gt;ソート済み配列&amp;lt;/PARAM&amp;gt;
        static void Shuffle(int[] srcList, int[] dstList)
        {
            Random rand = new Random();
            for (int i = 0; i &amp;amp;lt; srcList.Length; i++)
            {
                int r = rand.Next(i);
                if(r &amp;amp;lt; i)
                {
                    dstList[i] = dstList[r];
                    dstList[r] = srcList[i];
                }
                else
                {
                    dstList[i] = srcList[i];
                }
            } 
        }
        static void Main(string[] args)
        {
            int[] listA = new int[10];
            int[] listB = new int[10];
            // listAに数字を入れる
            for (int i = 0; i &amp;amp;lt; listA.Length; i++)
            {
                listA[i] = i;
            }
            // 混ぜる
            Shuffle(listA, listB);
            // listBの結果を出力する
            for (int i = 0; i &amp;amp;lt; listB.Length; i++)
            {
                Console.WriteLine(listB[i]);
            }
        }
    }
}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;絵で描いたら、こんな感じかな？&lt;BR&gt;&lt;A href="http://ch3cooh.wankuma.com/dialy/img/AB_14C64/random.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=516 alt=random src="http://ch3cooh.wankuma.com/dialy/img/AB_14C64/random_thumb.jpg" width=516 border=0&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/148056.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[Windows Mobile]Tips：Bitmapオブジェクトの生データにアクセスする</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/07/07/147802.aspx</link><pubDate>Mon, 07 Jul 2008 20:11:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/07/07/147802.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/147802.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/07/07/147802.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/147802.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/147802.aspx</trackback:ping><description>&lt;p&gt;.NET Compact Frameworkは、.NET Frameworkからモバイル向けにいくつか機能を削除されています。&lt;br&gt;Graphics.DrawImage(Image, PointF[])が削除されており、線対称の反転処理や回転処理を自作する必要があります。  &lt;p&gt;今回は、直接Bitmapオブジェクトの画像データにアクセスする処理をご紹介します。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;まずは、buttonとpictureBoxコントロールを適当な位置に貼り付けます。&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:462facad-5f9e-4068-8224-133673106613" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;

private void Draw(Image dstImage, string filePath)
{
    // 表示したい画像を読み込む
    Bitmap bmp = new Bitmap(filePath);

    // 直接データを触る矩形を指定する
    Rectangle lockRect = new Rectangle(0, 0, bmp.Width, bmp.Height);

    // Bitmapをシステムメモリにロックする
    BitmapData bmpData = bmp.LockBits(lockRect,
                                      ImageLockMode.ReadWrite,
                                      PixelFormat.Format32bppRgb);

    // 画像データのコピー先の領域を確保する
    int pixSize = 4;
    int dataSize = bmp.Width * bmp.Height * pixSize;
    byte[] data = new byte[dataSize];

    // 元画像バッファから加工用バッファへコピーを行う。
    Marshal.Copy(bmpData.Scan0, data, 0, data.Length);

    // 読み出した画像の全ピクセルを黒にする
    for (int i = 0; i &amp;lt; dataSize; i += pixSize)
    {
        // B
        data[i] = 0;
        // G
        data[i + 1] = 0;
        // R
        data[i + 2] = 0;
        // 未使用
        //data[i + 3] = 0;
    }

    // 加工用バッファから元画像バッファへコピーを行う。
    Marshal.Copy(data, 0, bmpData.Scan0, data.Length);

    // システムメモリからBitmapのロックを解除する
    bmp.UnlockBits(bmpData);

    // Graphicsオブジェクトを利用して描画を行う
    Graphics g = Graphics.FromImage(dstImage);
    g.DrawImage(bmp, 0, 0);
}&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;呼び元で、&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:145c89e7-b4c5-4e9c-9f40-a397765193b2" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;Draw(pictureBox1.Image, @"\My Documents\マイ ピクチャ\miku%20kirintamura.jpg"); &lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;と、任意のファイルパスを渡すと、下記の様な黒一色の画像がpictureBox1へ描画されます。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileTipsBitmap_1285E/TipsBitmap_image01.png"&gt;&lt;img title="Tips：Bitmapオブジェクトの生データにアクセスする_image01" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="471" alt="Tips：Bitmapオブジェクトの生データにアクセスする_image01" src="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileTipsBitmap_1285E/TipsBitmap_image01_thumb.png" width="305" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;参考：&lt;br&gt;&lt;a href="http://msdn.microsoft.com/ja-jp/library/5ey6h79d(VS.80).aspx"&gt;http://msdn.microsoft.com/ja-jp/library/5ey6h79d(VS.80).aspx&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/147802.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[Windows Mobile][C#]Tips：PictureBoxコントロールに任意のサイズに変更して描画する</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/07/07/147667.aspx</link><pubDate>Mon, 07 Jul 2008 03:01:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/07/07/147667.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/147667.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/07/07/147667.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/147667.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/147667.aspx</trackback:ping><description>.NET Compact Frameworkは、.NET Frameworkからモバイル向けにいくつか機能を削除されています。&lt;BR&gt;Graphics.DrawImage(Image, PointF[])が削除されており、線対称の反転処理や回転処理を自作する必要があります。 
&lt;P&gt;今回は、ファイルを読み込み画像データを任意の位置とサイズにて、pictureBox1へ描画する方法をご紹介します。 
&lt;P&gt;まずは、buttonとpictureBoxコントロールを適当な位置に貼り付けます。 
&lt;P&gt;&lt;A href="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileTipsPictureCox_12BD3/image01.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=475 alt=image01 src="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileTipsPictureCox_12BD3/image01_thumb.png" width=319 border=0&gt;&lt;/A&gt; 
&lt;P&gt;? 
&lt;P&gt;名前空間 &lt;BR&gt;using System.Drawing.Imaging; &lt;BR&gt;を追加した上で。 &lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:812469c5-0cb0-4c63-8c15-c81123a09de7:72876de4-378f-4c5f-9b8c-107550c90a8a style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE class=c# name="code"&gt;private void Draw(Image dstImage, string filePath)
{
    // 表示したい画像を読み込む
    Image srcImage = new Bitmap(filePath);

    // 入力する画像の座標とサイズを指定する
    int srcX = 0;
    int srcY = 0;
    int srcWidth = srcImage.Width;
    int srcHeight = srcImage.Height;
    Rectangle srcRect = new Rectangle(srcX, srcY, srcWidth, srcHeight);

    // 出力する画像の座標とサイズを指定する
    // 値は任意のサイズ
    int dstX = 70;
    int dstY = 20;
    int dstWidth = 114;
    int dstHeight = 175;
    Rectangle dstRect = new Rectangle(dstX, dstY, dstWidth, dstHeight);

    // その他諸々指定する
    GraphicsUnit units = GraphicsUnit.Pixel;

    // Graphicsオブジェクトを利用して描画を行う
    Graphics g = Graphics.FromImage(dstImage);
    g.DrawImage(srcImage, dstRect, srcRect, units);
}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;呼び元で、 
&lt;DIV class=wlWriterSmartContent id=scid:812469c5-0cb0-4c63-8c15-c81123a09de7:31690808-c45a-4645-81ed-5acd36017318 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE class=c# name="code"&gt;LoadDraw(pictureBox1.Image, @"\My Documents\マイ ピクチャ\miku%20kirintamura.jpg");&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR&gt;と、任意のファイルパスを渡しますと、下記のように画像が任意の大きさ・位置に描画されます。
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileTipsPictureCox_12BD3/image02.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=468 alt=image02 src="http://ch3cooh.wankuma.com/dialy/img/WindowsMobileTipsPictureCox_12BD3/image02_thumb.png" width=304 border=0&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/147667.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C#]ラムダ式に挑戦してみた</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/05/30/140130.aspx</link><pubDate>Fri, 30 May 2008 00:36:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/05/30/140130.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/140130.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/05/30/140130.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/140130.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/140130.aspx</trackback:ping><description>&lt;p&gt;ラムダ式は名前からして、難しそうなイメージがあって敬遠してました。&lt;/p&gt; &lt;p&gt;食わず嫌いは駄目ポと、(仕事が暇暇なので)思い至ったので、&lt;br&gt;delegateをろくに使ったこと無い僕が、ラムダ式に挑戦してみた。&lt;/p&gt; &lt;p&gt;まずは、delegateとラムダ式を使ったC#のコードを書いてみました。&lt;br&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:d1cbbf2a-5a8f-4e54-ab57-e83172c06136" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    delegate int AddDelegate(int x, int y);

    class Program
    {
        static int hoge(int x, int y)
        {
            return x + y;
        }

        static void add(int x, int y, AddDelegate adddelegate)
        {
            Console.WriteLine(adddelegate(x, y));
        }

        static void Main(string[] args)
        {
            // (1.)メソッドを使った足し算
            add(1, 2, hoge);

            // (2.)匿名メソッドを使った足し算
            add(1, 2, delegate(int x, int y) { return x + y; });

            // (3.)ラムダ式を使った足し算
            add(1, 2, (x, y) =&amp;gt; x + y);
        }
    }
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp; &lt;p&gt;一般的な日本人が英語を聞き取る時には、&lt;br&gt;頭の中で英語を日本語に翻訳しているみたいです。&lt;br&gt;(だから、日本人は英語が下手だって話を昔聞いたね。)
&lt;p&gt;その伝統に倣い、C言語脳の僕はC#のコードをC言語に置き換えてみました。&lt;br&gt;適当に書いたので、コンパイルが通るか怪しいですが……C言語で言えばこんな感じ？
&lt;p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:838fc056-3021-4ab6-b7f0-6aecaa000746" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;typedef int (AddFunc)(int x, int y);
int hoge(int x, int y)
{
  return x + y;
}

void add(int x, int y, AddFunc func)
{
  printf("%d", func(x, y));
}

void main(void)
{
  // (1.)メソッドを使った足し算
  add(1, 2, hoge);
  // (2.)匿名メソッドを使った足し算
// Cでは確実にコンパイルは通らないのでコメントアウト(・ω・)
// 関数を定義するまでも無いし、名前考えるのが面倒だし
// コーディングが楽になるでしょう的感じ？
//  add(1, 2, (int hoge(int x, int y){return x + y;}) );
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp; &lt;p&gt;つまりdelegateは、C言語で言うところの関数ポインタかー。&lt;br&gt;んでもって、C#では関数ポインタを渡さなくても&lt;br&gt;匿名メソッドという方法があって、処理だけを書くってのも大丈夫。
&lt;p&gt;MSDNで答え合わせをしたら、まんま&lt;br&gt;「デリゲートは、C や C++ の関数ポインタと同じように、&lt;br&gt;メソッドを安全にカプセル化する型です。」と書いていました。&lt;br&gt;&lt;a href="http://msdn.microsoft.com/ja-jp/library/ms173172(VS.80).aspx"&gt;http://msdn.microsoft.com/ja-jp/library/ms173172(VS.80).aspx&lt;/a&gt;
&lt;p&gt;&amp;nbsp; &lt;p&gt;次は、ラムダ式ですね。&lt;br&gt;これはさすがにC言語に置き換えは不可能なので、別方面から攻めて行きます。&lt;br&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:47804ebf-347d-4c88-aefa-6706fe3c12e5" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;  // (3.)ラムダ式を使った足し算
  add(1, 2, (x, y) =&amp;gt; x + y);&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp; &lt;p&gt;ラムダ式ってのは匿名メソッドの代わりに式だけを書いていると考えても良いのかな。&lt;br&gt;上のコードでは、「(x, y) =&amp;gt; x + y」の部分がラムダ式。
&lt;p&gt;(x, y)は、入力値で、&lt;br&gt;=&amp;gt; は、入力値のデータはこう使うんだぜ！という宣言&lt;br&gt;x + yは、入力値をどう使うか(式)&lt;br&gt;って考え方で当たってるのかな？
&lt;p&gt;具体的にどれだけコーディングが楽になるか、よく判らないなぁ。&lt;br&gt;C言語脳の僕には、匿名メソッドのが直感的なんだけど、単に慣れの問題かな。 &lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/140130.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>CH3COOH</dc:creator><title>[C#]カウントダウンタイマを作ってみた</title><link>http://blogs.wankuma.com/ch3cooh/archive/2008/05/15/137891.aspx</link><pubDate>Thu, 15 May 2008 21:30:00 GMT</pubDate><guid>http://blogs.wankuma.com/ch3cooh/archive/2008/05/15/137891.aspx</guid><wfw:comment>http://blogs.wankuma.com/ch3cooh/comments/137891.aspx</wfw:comment><comments>http://blogs.wankuma.com/ch3cooh/archive/2008/05/15/137891.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ch3cooh/comments/commentRss/137891.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ch3cooh/services/trackbacks/137891.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://ch3cooh.wankuma.com/dialy/img/C_12E41/82f14ab22f56.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="173" alt="新規ビットマップ イメージ" src="http://ch3cooh.wankuma.com/dialy/img/C_12E41/_thumb.png" width="260" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;えぴさんのカウントダウンタイマーを見て作ってみました。後で気付いたのですが、&lt;a href="http://blogs.wankuma.com/aqua/archive/2008/05/15/137761.aspx"&gt;仕様&lt;/a&gt;あったんですね……全く読んでいませんでした。ゲームしないといけないので、これで簡便してください。&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:42fec510-382b-4470-9ba8-f66b754bc801" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre name="code" class="c#"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Threading;

namespace timer
{
    class Program
    {
        static void Main(string[] args)
        {
            CH3COOHTimer timer = new CH3COOHTimer(60);
            timer.Run();
        }
    }

    public class CH3COOHTimer
    {
        int LimitSec = 0;

        public CH3COOHTimer(int sec)
        {
            LimitSec = sec;
        }

        public void TimerCB(object obj)
        {
            Console.Clear();
            Console.WriteLine(string.Format("残り:{0}分", LimitSec));
            LimitSec--;
        }

        public void Run()
        {
            TimerCallback timerCB = new TimerCallback(TimerCB);
            Timer timer = new Timer(timerCB, null, 0, 60000);

            while (LimitSec != 0)
            {
                Thread.Sleep(5000);
            }
        }
    }
}&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ch3cooh/aggbug/137891.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>