画像を読み込んで、デスクトップに描画するプログラムを組もうと思ったので、そこで、画像の読み込む方法を探していたところ、Cimageなるものを見つけました。
なので、サンプルプログラムをコピーして実行をしてみようと思いました。
まずそこで、予想した結果は何もならないけどエラーも出ないと思っていたのですが、
include ファイルを開けません。'atlimage.h':No such file or directory
というエラーがでてしまいました。
これは、ヘッダーファイルが無いのだとわかりましたがどのようなファイルをどのように埋め込む?のかがわかりませんでした。
調べたところ、Cstringを定義してください。というようなのがヒットしましたが、
文字列云々と書いてあったので、ヘッダーファイルじゃないなら関係ないと思ったのですが、これは関係ありますか?
______________________________
http://msdn.microsoft.com/ja-jp/library/bwea7by5.aspx
から参照しました。
CImage を使用しているプロジェクトでは、atlimage.h をインクルードする前に、必ず CString を定義してください。ATL を使用し、MFC を使用しないプロジェクトでは、atlimage.h より先に atlstr.h をインクルードします。MFC を使用するプロジェクト (または MFC にも対応している ATL プロジェクト) では、atlimage.h より先に afxstr.h をインクルードします。
同様に、atlimage.h は atlimpl.cpp より先にインクルードする必要があります。これを行うには、stdafx.h 内で atlimage.h をインクルードする方法が簡単です。
_______________________________
先にaflstr.h や afxstr.hをインクルードするとかいてあったのでやってみたところ、aflstrを先にincludeしたときは、aflstrのヘッダーファイルがありません。というエラーがでましたし、同様にafxstr.hもなりました。
僕が使っているコンパイラはVC++ 2008です。
直す方法と、ご説明をしていただけるととてもありがたいです。
よろしくお願いします。
[code#include <atlimage.h>
int main(){
Cimage image;
image.Attach(hBitMap);
image.Save(L"c:\\test.bmp");
image.Save(L"c:\\test.jpg");
image.Detach();
return 0;
}][/code]
atlimage.hが無い!?
Re: atlimage.hが無い!?
http://victreal.com/Junk/_T/index.html
ここの「ユニコード文字列からマルチバイト文字列への変換」のところにある
「互換ライブラリ」を試してみてください。ページの下の方にあります。
※自分では試していません
ここの「ユニコード文字列からマルチバイト文字列への変換」のところにある
「互換ライブラリ」を試してみてください。ページの下の方にあります。
※自分では試していません
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: atlimage.hが無い!?
CImageやCStringはMFC/ATLのクラスなので少なくとも無料版のVisualC++2008ExpressEdtionでは利用できません。
有料版のVisualStudio2008StandardEdtion以上を利用している必要があります。
それとC++のクラスなのでC++を理解している必要もあります。
codeタグを使い方を失敗しているので必ずプレビューして確認の上投稿してくださいね。あとCimageではなくCImageです。
[追記]
あとで気づきましたがMFCフレームワークの中でしか使えない可能性が高いです。つまり、プロジェクト自体がMFCである必要があります。
有料版のVisualStudio2008StandardEdtion以上を利用している必要があります。
それとC++のクラスなのでC++を理解している必要もあります。
codeタグを使い方を失敗しているので必ずプレビューして確認の上投稿してくださいね。あとCimageではなくCImageです。
[追記]
あとで気づきましたがMFCフレームワークの中でしか使えない可能性が高いです。つまり、プロジェクト自体がMFCである必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
おならちゃん。
Re: atlimage.hが無い!?
すみません。Extraedition です (汗)
知りませんでした。Orz ほかの方法を探して見ます。
たくさんの御回答ありがとうございました。
知りませんでした。Orz ほかの方法を探して見ます。
たくさんの御回答ありがとうございました。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: atlimage.hが無い!?
CImageはGDI+をラップしたものなのでGDI+を直接使う事はExpressEdtionでも出来ます。ただし言語仕様的にはC++です。
「第335章 GDI+の基礎 その1 」
http://www.kumei.ne.jp/c_lang/sdk4/sdk_335.htm
限定的な使用ならC言語の知識でも使えると思います。
「GDI+ グラフィック」
http://msdn.microsoft.com/ja-jp/library ... s.71).aspx
「第335章 GDI+の基礎 その1 」
http://www.kumei.ne.jp/c_lang/sdk4/sdk_335.htm
限定的な使用ならC言語の知識でも使えると思います。
「GDI+ グラフィック」
http://msdn.microsoft.com/ja-jp/library ... s.71).aspx
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。