GDI+

基盤は出来上がりました

アニメGIFを表示できるようになり、ドラッグアンドドロップにも対応して、これから感覚で操作できる自由な拡大機能を実装する予定。スクロールで拡大縮小、原寸大表示(クリックしたままドラッグすることで移動できる)など。 画像を表示している部分がディ…

GDI+の初期化と終了 その2

要約 以前に書いたやつにエラーチェックを加えました。 このクラスはコンストラクタで初期化処理を行い、デストラクタで終了処理を行ってくれる優れものです。Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者: スコット・メイ…

GIFのまとめ

アニメGIFについての技術的なまとめです。 自前で表示するコードを色々書いたのですが、表示のタイミング(各コマの表示時間)が明らかに合わなかったり、そもそも未熟で上手く書けない、そしてなによりも同期オブジェクトやスレッドに嫌気が差しました。 GIF…

アニメGIFの各コマの待機時間を調べるコード

コードじゃなくてソフトがほしい方へ Giamというソフトがおすすめです。もちろん僕の作品じゃないですけど。Windows向けです。 http://homepage3.nifty.com/furumizo/giamd.htm 本題 GIFの細かい仕様は何となくわかったけど、それはまた今度。 フレーム,ディ…

gdiplus.hをインクルードするとコンパイルできないとき

結論→先に、#include IStreamが定義されていないとか、関数の戻り値の型が無いなどといわれます。 #include <windows.h> #include <gdiplus.h> INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, INT iCmdShow) { return 0; } 上記のようなコードではコンパイルが通ります</gdiplus.h></windows.h>…

GDI+の初期化と終了

使う前には初期化、使い終わったら最後に終了処理を行います。 行わなかった場合はどうなるのでしょうか・・・。きっとgdiplus.dllが困るのでしょう。 初期化と終了の関数のプロトタイプです。 Status GdiplusStartup( ULONG_PTR token *token, const GdiplusSt…

GDI+を使うための準備

まず必要なものと設定を書いておきます。 Windows SDK *1 http://www.microsoft.com/downloads/details.aspx?familyid=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=en 設定 Windows SDKをインクルードしたらそれのInclude,Libディレクトリのパスを VC…

今日の成果

このような形で公開していかないとmemo.txtが肥大化してしまいます。 やる気をそぐページを発見した UsefullCodeさん。その節(*1)はお世話になりました。 http://www.usefullcode.net/imageviewer/ なんとまあ、WTL×GDI+で画像ビュアーを作ってるではあり…

GDI+での画像の読み込みと表示

画像(ラスタイメージ)を画面に表示するにはImage,Graphicsオブジェクトが必要です。 Imageクラスのコンストラクタに、画像ファイル名かストリームへのポインタを渡して オブジェクトを作成し、それのポインタを、GraphicsオブジェクトのDrawImageメソッドに…

GDI+を使う上でよく見かけそうな用語やクラス

ほとんどがSDKを訳したやつです。 クラス GdiplusBaseクラス GDI+オブジェクトのメモリの確保/解放を行うクラス。 GDI+の全てのクラスの基底クラスとして使われている。 このクラスのインスタンスを作ることはまず無い。 Image Imageクラスはベクタイメージ(…

GDI+ 前書き

GDIとは? SDKを読んだところ、どうやら、「WinAPIでできないグラフィックや映像の処理を可能にするライブラリ。Win64でもOK。」らしいです。 つまりJPEGやGIF、PNGを使えるようになるライブラリですと。 画像関係についてくわしく 以下SDKの糞訳。Microsoft…