C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: アンチエイリアス


(過去ログ 22 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■9682 / inTopicNo.1)  アンチエイリアス
  
□投稿者/ コロン (1回)-(2007/11/02(Fri) 09:50:26)

分類:[C/C++] 

【環境】
VC++6.0 MFC

はじめまして。

C++、MFCライブラリのみの使用で、
アンチエイリアス描画(アンチジャギ)をしたいと思っています。

ですが、勉強不足のため、どうすればよいかわかりません。

文字(線)を描画する時にアンチエイリアシングするのか、
描画したデータをBitMapに溜めておいてアンチエイリアシングするのか、
それともほかの方法?

参考になるURL、サンプルソース等
ご存知の方、 ご教授宜しくお願いします


引用返信 編集キー/
■9687 / inTopicNo.2)  Re[1]: アンチエイリアス
□投稿者/ Tom Yama (16回)-(2007/11/02(Fri) 10:30:20)
No9682 (コロン さん) に返信
> アンチエイリアス描画(アンチジャギ)をしたいと思っています。
1. GDI+を使う
2. Direct3Dを使う
3. 自分で、アンチエイリアスのアルゴリズムを実装する

引用返信 編集キー/
■9711 / inTopicNo.3)  Re[2]: アンチエイリアス
□投稿者/ コロン (2回)-(2007/11/02(Fri) 16:46:20)
No9687 (Tom Yama さん) に返信
GDI+を使うようにしました。
プラットフォームをインストールして実行してみましたが、
以下のエラーが発生してコンパイルが終了できませんでした。

<エラー>
gdiplusinit.h(32) : error C2065: 'ULONG_PTR' : 定義されていない識別子です。
gdiplusinit.h(32) : error C2065: 'token' : 定義されていない識別子です。
gdiplusinit.h(32) : error C2165: 'left-side modifier' : データへのポインタは変更できません。
gdiplusinit.h(32) : error C2071: 'NotificationHookProc' : 記憶クラスは不正です。
gdiplusinit.h(33) : error C2146: 構文エラー : ')' が、識別子 'token' の前に必要です。
gdiplusinit.h(33) : error C2165: 'left-side modifier' : データへのポインタは変更できません。
gdiplusinit.h(33) : error C2071: 'NotificationUnhookProc' : 記憶クラスは不正です。
gdiplusinit.h(33) : error C2059: 構文エラー : ')'
gdiplusinit.h(86) : error C2059: 構文エラー : 'const'
gdiplusinit.h(95) : error C2146: 構文エラー : ')' が、識別子 'token' の前に必要です。
gdiplusinit.h(95) : warning C4229: 旧形式が使用されています : データの修飾子は無視されます。
gdiplusinit.h(95) : error C2182: 'GdiplusShutdown' : 'void' 型を使って宣言されました。
gdiplusinit.h(95) : error C2059: 構文エラー : ')'
gdiplusflat.h(2639) : warning C4229: 旧形式が使用されています : データの修飾子は無視されます。
gdiplusflat.h(2639) : error C2440: 'initializing' : 'int' から 'enum Gdiplus::Status' に変換することはできません。(新しい動作 ; ヘルプを参照)
        列挙型への変換には static_cast、C スタイル キャストまたは関数スタイル キャストが必要です。
gdiplusflat.h(2644) : error C2146: 構文エラー : ')' が、識別子 'token' の前に必要です。
gdiplusflat.h(2644) : warning C4229: 旧形式が使用されています : データの修飾子は無視されます。
gdiplusflat.h(2644) : error C2182: 'GdiplusNotificationUnhook' : 'void' 型を使って宣言されました。
gdiplusflat.h(2644) : error C2059: 構文エラー : ')'
cl.exe の実行エラー

引用返信 編集キー/
■9719 / inTopicNo.4)  Re[3]: アンチエイリアス
□投稿者/ Tom Yama (18回)-(2007/11/02(Fri) 17:53:00)
No9711 (コロン さん) に返信
> ■No9687 (Tom Yama さん) に返信
> GDI+を使うようにしました。
> プラットフォームをインストールして実行してみましたが、
> 以下のエラーが発生してコンパイルが終了できませんでした。
VC++6に添付されている、BaseTsd.hというファイルが、古すぎるのです。
新しいものを、何とかして、入手してください。
WindowsSDKを入手するのが、一番、手っ取り早い方法だと、思います。

# でも、今現在、どうやれば、WindowsSDKを入手できるのか、よく知りません。
引用返信 編集キー/
■9732 / inTopicNo.5)  Re[4]: アンチエイリアス
□投稿者/ 774RR (56回)-(2007/11/02(Fri) 20:16:21)
WindowsServer2003 PSDK Full (VC++6 をサポートしている最終バージョン)
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

でも、いまどき VC++6 っすか?まさか SP 当ててないとか?
そんなサポートも打ち切られた過去の遺物は即刻捨てて VS2005 なり Orcas なりに
乗り換えることを強く推奨。
引用返信 編集キー/
■9883 / inTopicNo.6)  Re[5]: アンチエイリアス
□投稿者/ コロン (3回)-(2007/11/06(Tue) 15:47:44)
WindowsSDKを入れ、試行錯誤の結果コンパイルできるようになりました!

今までLineToで線の描画をしていた部分をDrawLineに変更しました。
ですが、アンチエイリアスはかからなかったです。。。
アンチエイリアスをかけながらはどのようにすればよいのでしょうか?

宜しくお願いします。
引用返信 編集キー/
■9886 / inTopicNo.7)  Re[6]: アンチエイリアス
□投稿者/ Tom Yama (19回)-(2007/11/06(Tue) 16:38:32)
No9883 (コロン さん) に返信
> 今までLineToで線の描画をしていた部分をDrawLineに変更しました。
> ですが、アンチエイリアスはかからなかったです。。。
> アンチエイリアスをかけながらはどのようにすればよいのでしょうか?
デフォルトでは、かかりません。かけると、大変遅くなるので。
かけかたについては、MSDNなどで、調べてください。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -