<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">

  <channel rdf:about="http://visualstudio05.blog.shinobi.jp/RSS/100/">
    <title>Visual Studio C++のお勉強</title>
    <link>http://visualstudio05.blog.shinobi.jp/</link>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://visualstudio05.blog.shinobi.jp/RSS/" />
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />
    <description>NINJA</description>
    <dc:language>ja</dc:language>
    <dc:date>2011-03-23T22:27:39+09:00</dc:date>
    <items>
    <rdf:Seq>
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E6%96%87%E5%AD%97%E5%88%97/%EF%BD%93%EF%BD%94%EF%BD%92%EF%BD%89%EF%BD%8E%EF%BD%87-%20%E3%82%92%20wchar%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.net%20%E3%82%AF%E3%83%A9%E3%82%B9/%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%97%E3%80%81%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E8%89%B2/color%E6%A7%8B%E9%80%A0%E4%BD%93" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E3%81%AE%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E9%96%8B%E6%94%BE" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.net%20dll/%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/string%20%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E9%85%8D%E5%88%97" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E3%81%AE%E8%87%AA%E5%8B%95%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E5%8C%96" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/%E3%83%8C%E3%83%AB%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E3%81%AE%E6%89%B1%E3%81%84" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E5%A4%89%E6%95%B0%E3%81%8C%E4%B8%8D%E8%A6%81" />
      <rdf:li rdf:resource="http://visualstudio05.blog.shinobi.jp/%E7%94%BB%E5%83%8F/%EF%BD%82%EF%BD%8D%EF%BD%90%E3%81%A7%E4%BF%9D%E5%AD%98" />
    </rdf:Seq>
    </items>
  </channel>

  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E6%96%87%E5%AD%97%E5%88%97/%EF%BD%93%EF%BD%94%EF%BD%92%EF%BD%89%EF%BD%8E%EF%BD%87-%20%E3%82%92%20wchar%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B">
    <link>http://visualstudio05.blog.shinobi.jp/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E6%96%87%E5%AD%97%E5%88%97/%EF%BD%93%EF%BD%94%EF%BD%92%EF%BD%89%EF%BD%8E%EF%BD%87-%20%E3%82%92%20wchar%20%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B</link>
    <title>Ｓｔｒｉｎｇ^ を wchar に変換する</title>
    <description>Formでは、Ｓｔｒｉｎｇ^ を使用すれば良いが、APIなどではwchar型が使われるため、文字列の型が異なる。

そこで、文字列の変換を行う。

1．　ヘッダーファイルをインクルードする。

#include &amp;amp;quot;vcclr.h&amp;amp;quot;

2．　変換コードを利用する。...</description>
    <content:encoded><![CDATA[Formでは、Ｓｔｒｉｎｇ^ を使用すれば良いが、APIなどではwchar型が使われるため、文字列の型が異なる。<br />
<br />
そこで、文字列の変換を行う。<br />
<br />
1．　ヘッダーファイルをインクルードする。<br />
<br />
<font color="#ff0000">#include &quot;vcclr.h&quot;</font><br />
<br />
2．　変換コードを利用する。<br />
<font color="#ff0000"><br />
pin_ptr&lt;const wchar_t&gt; wch = PtrToStringChars(ss);</font><br />
<br />
<br />]]></content:encoded>
    <dc:subject>.ＮＥＴ 文字列</dc:subject>
    <dc:date>2011-03-23T22:24:56+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.net%20%E3%82%AF%E3%83%A9%E3%82%B9/%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%97%E3%80%81%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99">
    <link>http://visualstudio05.blog.shinobi.jp/.net%20%E3%82%AF%E3%83%A9%E3%82%B9/%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%92%E5%AE%A3%E8%A8%80%E3%81%97%E3%80%81%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99</link>
    <title>クラスを宣言し、メソッドを呼び出す</title>
    <description>Visual C++ の MFCとは若干異なる。

1．　ソリューションエクスプローラのサブメニューから、クラスを追加する。（ＭＦＣと同様）

2．　「C++　クラス」を選択する。

以下、必要に応じて対応

3．　ヘッダーファイルに、クラスの外で「using namespace x...</description>
    <content:encoded><![CDATA[Visual C++ の MFCとは若干異なる。<br />
<br />
1．　ソリューションエクスプローラのサブメニューから、クラスを追加する。（ＭＦＣと同様）<br />
<br />
2．　「C++　クラス」を選択する。<br />
<br />
以下、必要に応じて対応<br />
<br />
3．　ヘッダーファイルに、クラスの外で「using namespace xxxxx」を追加<br />
<br />
4．　Dllからネイティブコードを呼び出す場合、exturn &rarr; static に変更する<br />
<br />]]></content:encoded>
    <dc:subject>.NET クラス</dc:subject>
    <dc:date>2011-03-23T21:59:40+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E8%89%B2/color%E6%A7%8B%E9%80%A0%E4%BD%93">
    <link>http://visualstudio05.blog.shinobi.jp/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E8%89%B2/color%E6%A7%8B%E9%80%A0%E4%BD%93</link>
    <title>Color構造体</title>
    <description>
色を指定するための構造体。

ＲＧＢやシステムの色を取得することが可能。

名前空間: System.Drawing


例　：　Color構造体に、ＲＧＢで指定した色を設定する。
Color　myClr;

myClr&amp;amp;nbsp; =&amp;amp;nbsp;Color::FromArg...</description>
    <content:encoded><![CDATA[<br />
色を指定するための構造体。<br />
<br />
ＲＧＢやシステムの色を取得することが可能。<br />
<br />
<b>名前空間:</b> System.Drawing<br />
<br />
<font color="#ff0000"><br />
<strong><font color="#000000">例　：　Color構造体に、ＲＧＢで指定した色を設定する。</font></strong><br />
Color　myClr;<br />
<br />
myClr&nbsp; =&nbsp;Color::FromArgb( 0, 0, 0 );<br />
</font><br />]]></content:encoded>
    <dc:subject>.ＮＥＴ 色</dc:subject>
    <dc:date>2011-03-23T00:26:06+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E3%81%AE%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E9%96%8B%E6%94%BE">
    <link>http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E3%81%AE%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E9%96%8B%E6%94%BE</link>
    <title>.ＮＥＴ のオブジェクトの開放</title>
    <description>オブジェクトの開放は、以下のコードで行う。

VC++ .NET 2003

Drawing::Font* myFont&amp;amp;nbsp; =&amp;amp;nbsp;new&amp;amp;nbsp; Drawing::Font( ～ 省略 ～ );

myFont-&amp;amp;gt;Dispose();


VC++ .N...</description>
    <content:encoded><![CDATA[オブジェクトの開放は、以下のコードで行う。<br />
<br />
VC++ .NET 2003<br />
<br />
<font color="#ff0000">Drawing::Font* myFont&nbsp; =&nbsp;new&nbsp; Drawing::Font( ～ 省略 ～ );<br />
<br />
myFont-&gt;Dispose();</font><br />
<br />
<br />
VC++ .NET 2005<br />
<br />
<font color="#ff0000">Drawing::Font* myFont&nbsp; =&nbsp;gcnew&nbsp; Drawing::Font( ～ 省略 ～ );<br />
<br />
delete myFont;</font><br />]]></content:encoded>
    <dc:subject>.NET 基本</dc:subject>
    <dc:date>2011-03-23T00:24:15+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.net%20dll/%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99">
    <link>http://visualstudio05.blog.shinobi.jp/.net%20dll/%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99</link>
    <title>ネイティブコードを呼び出す</title>
    <description>過去の資源を使うためには、ＤＬＬを利用するのがよいが、

.NETでは以下の方法にてネイティブコードを呼び出すことが可能である。

// DllImport用名前空間
using namespace System::Runtime::InteripServices;

// dllコー...</description>
    <content:encoded><![CDATA[過去の資源を使うためには、ＤＬＬを利用するのがよいが、<br />
<br />
.NETでは以下の方法にてネイティブコードを呼び出すことが可能である。<br />
<font color="#ff0000"><br />
// DllImport用名前空間<br />
using namespace System::Runtime::InteripServices;<br />
<br />
// dllコードを利用可能にする<br />
[DllImport(&quot;user32.Dll&quot;)]<br />
<br />
// 利用する関数のプロトタイプ<br />
extern bool MessageBeep(&nbsp;unsigned int uType );</font><br />
<br />]]></content:encoded>
    <dc:subject>.NET DLL</dc:subject>
    <dc:date>2011-03-23T00:07:14+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/string%20%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E9%85%8D%E5%88%97">
    <link>http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/string%20%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E9%85%8D%E5%88%97</link>
    <title>String オブジェクトの配列</title>
    <description>Stringオブジェクトの配列は以下のようにコードを書くことが可能である。

array&amp;amp;lt;String^&amp;amp;gt;^ ss =&amp;amp;nbsp;gcnew array&amp;amp;lt;String^&amp;amp;gt;(10);

ss[0]　=　&amp;amp;quot;文字列ＡＢＣ&amp;amp;quot;


10個の配列が作成さ...</description>
    <content:encoded><![CDATA[Stringオブジェクトの配列は以下のようにコードを書くことが可能である。<br />
<br />
<font color="#ff0000">array&lt;String^&gt;^ ss =&nbsp;gcnew array&lt;String^&gt;(10);<br />
<br />
ss[0]　=　&quot;文字列ＡＢＣ&quot;</font><br />
<br />
<br />
10個の配列が作成される。<br />
<br />]]></content:encoded>
    <dc:subject>.NET 基本</dc:subject>
    <dc:date>2011-03-22T23:44:05+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E3%81%AE%E8%87%AA%E5%8B%95%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E5%8C%96">
    <link>http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/.%EF%BD%8E%EF%BD%85%EF%BD%94%20%E3%81%AE%E8%87%AA%E5%8B%95%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E5%8C%96</link>
    <title>.ＮＥＴ の自動ボックス化</title>
    <description>自動ボックス化（ボクシング）とは、

Ｆｏｒｍａｔ（）関数で数値を埋め込む処理。

ＶＳ++ .NET 2003 の書き方

ss　=　String::Format( &amp;amp;quot;dtは｛0｝です&amp;amp;quot;,&amp;amp;nbsp; __box( dt&amp;amp;nbsp;)&amp;amp;nbsp; );

VS+...</description>
    <content:encoded><![CDATA[自動ボックス化（ボクシング）とは、<br />
<br />
Ｆｏｒｍａｔ（）関数で数値を埋め込む処理。<br />
<br />
ＶＳ++ .NET 2003 の書き方<br />
<font color="#ff0000"><br />
ss　=　String::Format( &quot;dtは｛0｝です&quot;,&nbsp; __box( dt&nbsp;)&nbsp; );</font><br />
<br />
VS++ .NET 2005の書き方<br />
<br />
<font color="#ff0000">ss　=　String::Format( &quot;dtは{0}です&quot;, dt );</font><br />
<br />
<br />
<br />]]></content:encoded>
    <dc:subject>.NET 基本</dc:subject>
    <dc:date>2011-03-22T23:41:28+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/%E3%83%8C%E3%83%AB%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E3%81%AE%E6%89%B1%E3%81%84">
    <link>http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/%E3%83%8C%E3%83%AB%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E3%81%AE%E6%89%B1%E3%81%84</link>
    <title>ヌルポインタの扱い</title>
    <description>マネージ形式の場合、ヌルポインタを示すのは、以下のコードで行う。

nullptr

伝統的な「NULL」ではないので、注意が必要。

マネージ形式では、自動ボックス化という機能を最小したため、

値0は「ボクシングされたＩｎｔ32型の値0」に変更される場合があるためらしい。

...</description>
    <content:encoded><![CDATA[マネージ形式の場合、ヌルポインタを示すのは、以下のコードで行う。<br />
<br />
<font color="#ff0000">nullptr</font><br />
<br />
伝統的な「NULL」ではないので、注意が必要。<br />
<br />
マネージ形式では、自動ボックス化という機能を最小したため、<br />
<br />
値0は「ボクシングされたＩｎｔ32型の値0」に変更される場合があるためらしい。<br />
<br />
<br />
◇　マネージ形式のヌルポインタ<br />
<br />
nullptr<br />
<br />
◇　ネイティブ形式のヌルポインタ<br />
<br />
NULL<br />]]></content:encoded>
    <dc:subject>.NET 基本</dc:subject>
    <dc:date>2011-03-22T23:05:58+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E5%A4%89%E6%95%B0%E3%81%8C%E4%B8%8D%E8%A6%81">
    <link>http://visualstudio05.blog.shinobi.jp/.net%20%E5%9F%BA%E6%9C%AC/%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E5%A4%89%E6%95%B0%E3%81%8C%E4%B8%8D%E8%A6%81</link>
    <title>コントロール変数が不要</title>
    <description>・ネイティブ形式では、以下のコードにて「コントロール変数」を宣言していた。

　CEdit*　myEdit =&amp;amp;nbsp;(CEdit*)GetDlgItem( IDC_EDIT1 );
myEdit-&amp;amp;gt;SetWindowText(&amp;amp;quot;文字列&amp;amp;quot;);

・マネージ形式...</description>
    <content:encoded><![CDATA[・ネイティブ形式では、以下のコードにて「コントロール変数」を宣言していた。<br />
<br />
<font color="#ff0000">　CEdit*　myEdit =&nbsp;(CEdit*)GetDlgItem( IDC_EDIT1 );<br />
myEdit-&gt;SetWindowText(&quot;文字列&quot;);</font><br />
<br />
・マネージ形式のでは、以下のコードのみで利用することが可能。<br />
<br />
<font color="#ff0000">　myEdit-&gt;Text =&nbsp;&quot;文字列&quot;</font><br />
<br />
ネイティブ形式でも、コントロール変数を用意してしまえば、ひとつのコードのみで済むが、<br />
マネージ形式では、コントロール変数を用意する必要がなく、ひとつのコードのみで対応可能。<br />
<br />]]></content:encoded>
    <dc:subject>.NET 基本</dc:subject>
    <dc:date>2011-03-22T22:54:30+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
  <item rdf:about="http://visualstudio05.blog.shinobi.jp/%E7%94%BB%E5%83%8F/%EF%BD%82%EF%BD%8D%EF%BD%90%E3%81%A7%E4%BF%9D%E5%AD%98">
    <link>http://visualstudio05.blog.shinobi.jp/%E7%94%BB%E5%83%8F/%EF%BD%82%EF%BD%8D%EF%BD%90%E3%81%A7%E4%BF%9D%E5%AD%98</link>
    <title>ＢＭＰで保存</title>
    <description>ＢＭＰで保存する。

DIBコード：file.visualstudio05.blog.shinobi.jp/SaveDIB.zip

BOOL xxxxxx::SaveBMPFile( CString FileName, BITMAP sBitmap, BYTE* pData )
{
&amp;amp;...</description>
    <content:encoded><![CDATA[ＢＭＰで保存する。<br />
<br />
DIBコード：<a href="//visualstudio05.blog.shinobi.jp/File/SaveDIB.zip">file.visualstudio05.blog.shinobi.jp/SaveDIB.zip</a><br />
<br />
<font color="#ff0000">BOOL xxxxxx::SaveBMPFile( CString FileName, BITMAP sBitmap, BYTE* pData )<br />
{<br />
&nbsp;&nbsp;&nbsp; CImage&nbsp;&nbsp;&nbsp; img;<br />
&nbsp;&nbsp;&nbsp; //BYTE*&nbsp;&nbsp;&nbsp; pImg;<br />
&nbsp;&nbsp;&nbsp; //DWORD&nbsp;&nbsp;&nbsp; dwImgSize;<br />
<br />
&nbsp;&nbsp;&nbsp; int iDiff = 0;<br />
<br />
&nbsp;&nbsp;&nbsp; // DIB作成<br />
&nbsp;&nbsp;&nbsp; static BITMAPINFO bmpInfo;<br />
<br />
&nbsp;&nbsp;&nbsp; if( sBitmap.bmWidth * 3 % 4 ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; iDiff = sBitmap.bmWidth * 3 + ( 4 - sBitmap.bmWidth * 3 % 4 );<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; iDiff = sBitmap.bmWidth * 3;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; BYTE*&nbsp;&nbsp;&nbsp; pBuff;<br />
&nbsp;&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; iBuffSize = iDiff * sBitmap.bmHeight;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if( !(pBuff = (BYTE*)calloc( iBuffSize + 1, sizeof(BYTE) ))){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // メモリの確保を失敗<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return FALSE;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; bmpInfo.bmiHeader.biSize&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = sizeof( BITMAPINFOHEADER );<br />
&nbsp;&nbsp;&nbsp; bmpInfo.bmiHeader.biWidth&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = sBitmap.bmWidth;<br />
&nbsp;&nbsp;&nbsp; bmpInfo.bmiHeader.biHeight&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = sBitmap.bmHeight;<br />
&nbsp;&nbsp;&nbsp; bmpInfo.bmiHeader.biPlanes&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = 1;<br />
&nbsp;&nbsp;&nbsp; bmpInfo.bmiHeader.biBitCount&nbsp;&nbsp;&nbsp; = 24;<br />
&nbsp;&nbsp;&nbsp; bmpInfo.bmiHeader.biCompression&nbsp;&nbsp;&nbsp; = BI_RGB;<br />
<br />
&nbsp;&nbsp;&nbsp; int n = 0;<br />
&nbsp;&nbsp;&nbsp; int j = 0;<br />
&nbsp;&nbsp;&nbsp; int iCnt = 0;<br />
&nbsp;&nbsp;&nbsp; for( int i = sBitmap.bmHeight - 1; i &gt;= 0; i-- ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; j = i * sBitmap.bmWidth * 3;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for( int m = 0; m &lt; sBitmap.bmWidth; m++ ){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pBuff[ n + 0 ] = pData[ j + 0 ];<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pBuff[ n + 1 ] = pData[ j + 1 ];<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pBuff[ n + 2 ] = pData[ j + 2 ];<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; n += 3;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; j += 3;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; iCnt++;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; n = iCnt * iDiff;<br />
<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; SaveDIB( this-&gt;CStringToLptstr( FileName) , pBuff, &amp;bmpInfo );<br />
<br />
&nbsp;&nbsp;&nbsp; free( pBuff );<br />
<br />
&nbsp;&nbsp;&nbsp; return TRUE;<br />
}</font><br />]]></content:encoded>
    <dc:subject>画像</dc:subject>
    <dc:date>2011-03-21T16:43:51+09:00</dc:date>
    <dc:creator>No Name Ninja</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>No Name Ninja</dc:rights>
  </item>
</rdf:RDF>
