BrewSDK 開発(5)
イメージ周りと、その他色々追加しました。
id:melpon:19990101
イメージ周りの処理を追加しました。
BrewImage は、イメージそのものを表すクラスです。
イメージは、ストリームを渡して生成することが出来ます。
BrewImage image;
image.CreateImage(BrewFileInputStream::Open("test.bmp"));
BrewUnzipStream を渡して生成することも可能なので、圧縮されたイメージを一時的なバッファに確保する等の無駄な処理を行わずにロードすることが出来ます。
image.CreateImage(BrewUnzipStream::Create(BrewFileInputStream::Open("test.gz")));
BrewSpriteImage は、イメージの一部を表すためのクラスです。
BrewImage image; Rectangle rect(10, 10, 100, 100); BrewSpriteImage spriteImage(image, &rect);
こうすると、spriteImage は image の rect の領域を表すことになります。
BrewRaster は、ラスタの転送方法を指定するためのクラスです。
BrewRaster raster; // 加算+アルファ50%+180度回転+縦横半分に縮小 raster.Add(true).Alpha(16).Rotate(512).Stretch(Size(32768, 32768));
Add() や Alpha() の返り値が自身なので、連続して書くことが可能です。
これを BrewGraphics に渡して描画を行います。
BrewGraphics は、描画を行うためのクラスです。
矩形やサークルの単純な描画も可能です。
// 画面全体をアルファ50%の黒で塗りつぶし BrewGraphics::FillRect(dst, null, Color(0 ,0 ,0), 16); BrewGraphics::DrawImage(dst, Point(0, 0), 0, src, raster); |< sample01 にイメージ周りの使い方を説明するためのデモを作りました。 今日の画像のような画面が表示されます。