インポートライブラリが出力されない
Posted on Sat 22 November 2008 in Windows
__declspec(dllexport)
をひとつもつけないでdllをコンパイルすると
インポートライブラリ(*.lib)を吐かない。
Posted on Sat 22 November 2008 in Windows
__declspec(dllexport)
をひとつもつけないでdllをコンパイルすると
インポートライブラリ(*.lib)を吐かない。
Posted on Fri 07 November 2008 in ペイントツール
OpenCVのcvLoadImage()だとアルファ値を読んでくれないので、
libpngとzlibをつかってpng読み込みモジュールを作った
↑cvLoadImage()で読み込み、わかりづらいが、アルファ値が読まれていない。
↑libpngで読み込みアルファ値が読まれている。
ついでにThe Independent
JPEG Group\'s
JPEG
softwareのjpegライブラリを使って、
ファイル読み込みモジュールを作成。
cvLoadImage()だと読めない、jpegファイルがあるのだが、このモジュールを使えば読み込めるようになった。
[The Independent JPEG
Group\'s JPEG
software]{style="font-weight:bold;"}
http://www.ijg.org/
[libpng]{style="font-weight:bold;"}
http://www.libpng.org/pub/png …
Posted on Wed 10 September 2008 in Windows
C++のクラスのDLL化の参考リンク
http://msdn.microsoft.com/ja-jp/library/a90k134d(VS.80).aspx
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1582533&SiteID=7
http://www2s.biglobe.ne.jp/~ragnarok/program/win32/class_of_cpp_in_dll.htm
↑は、DLLとEXE側で、クラスのサイズが違ってたりすることがあるので、
DLL側でメモリの確保、開放をしたほうがいいよということらしい。
Posted on Mon 08 September 2008 in Windows
コンパイル時間の短縮のためにプリコンパイル済みヘッダーを導入したが、
c80.pdbは、このプリコンパイル済みヘッダーが作成されたときに使用されたpdbファイルではありません。プリコンパイル済みヘッダーを再作成してください。
の様なエラーが出た。
これは、後から、StdAfx.cppを追加すると、デフォルトで「プリコンパイル済ヘッダの使用」になっているので起こるようだ。
ソリューションエクスプローラからStdAfx.cppを右クリック→プロパティーで「プリコンパイル済ヘッダの作成」に変更する。
StdAfx.cppのみ、「プリコンパイル済ヘッダの作成」にすることで上手くいく様だ。
Posted on Wed 13 August 2008 in Windows
TrackPopupMenu()でショートカットメニューを表示する場合、CreateMenu()ではなく、
CreatePopupMenu()で作成したメニューを使用しないと上手く表示されない。
Posted on Fri 11 July 2008 in ペイントツール
昨日の続き
先頭から
[2byte] abrファイルのバージョン(1,2,6があるようだ)
/* ver1 or 2の場合 */
[2byte] ブラシの個数
以下最後までブラシデータの繰り返し
| [2byte] ブラシタイプ 1のときcomputedブラシ 2のときsampledブラシ
| [4byte] ブラシのサイズ
/*ブラシタイプ 1 computed brush*/
/*ブラシタイプ 2 sampled brush*/
| [6byte] 不要なデータ
| [4byte] 名前のサイズ
|
| ・
| ・ 名前データ 名前のサイズ分だけ
| ・
|
| [9byte] 不要なデータ
| [4byte] ブラシの領域の上辺の値
| [4byte] ブラシの領域の左辺の値
| [4byte] ブラシの領域の下辺の値
| [4byte] ブラシの領域の右辺の値
| [4byte] ブラシのデータ深度
| [1byte] 圧縮有りか無しか
以下ver 6と同様
/* 圧縮無しの場合 …
Posted on Thu 10 July 2008 in ペイントツール
photoshopのブラシデータのフォーマットを調べてみることにした。
なかなか説明がのっているサイトが無いので拾ったC言語ソースから、調べることにした。
値の格納法はビッグエンディアンなのでリトルエンディアンへ変換しないといけない。
ファイル先頭から次のようになっている。
[2byte] abrファイルのバージョン(1,2,6があるようだ)
/* ver6の場合 */
[2byte] subversion(6.xのxの部分、6.1と6.2があるようだ)
[1byte][1byte][1byte][1byte] "8BIM" になっていなければならない
[1byte][1byte][1byte][1byte] 8BIMtagの名前 ヌル文字は入ってないので注意
[4byte] セクションサイズ この後からファイルの末尾までのファイルサイズ
以下最後までブラシデータの繰り返し
| [4byte] ブラシサイズ ブラシデータのサイズ
| [37byte] 不要なデータ
| [10 or 264 byte] 不要なデータ 6.1の場合は10byte 6 …
Posted on Sun 06 July 2008 in OpenCV
画像の拡大縮小で、↓の様な行列を使って変形させ、
マウスの座標をこの逆行列をかけることによって画像上の座標に変換しようとしたが、
どうも上手くいかない。
cvMul()で行列の掛け算をしてるとこでアサーションが起こる。
http://d.hatena.ne.jp/DOSEI/20060508/p1
↑によるとcvMul()は要素同士の積なので、エラーが出たようだ。
cvMatMul()を使用すると、上手くいけた。
Posted on Mon 30 June 2008 in Windows
ダイアログのオーナーウィンドウのハンドルは、
GetWindow()でGW_OWNERを指定することで得られるが、
DialogBox()の第3引数で指定したものが得られるとは限らない。
DialogBox()の第3引数で指定したウィンドウが子ウィンドウの場合、
子ウィンドウはオーナーウィンドウになれないので、子ウィンドウの親を調べて子ウィンドウでなければ、そのウィンドウがオーナーウィンドウになる。
子ウィンドウの親も子ウィンドウだった場合さらにその親を調べる。
Posted on Mon 02 June 2008 in Windows