2018年8月5日日曜日

System.Drawingは覚えてたけど Imagingは存在さえ忘れてた的な(笑) GDI+ 関係かな

System.Drawing 名前空間は .NETの基本要素なんだけどGDI+をラップしてる。そこに Imagingもあるのに存在すら失念
System.Drawing.Imaging 名前空間

// 戻り値用変数を用意
SlimDX.Direct2D.Bitmap d2dBitmap = null;

// WinFormのDrawingメソッド流用するためにまずWinForm系のビットマップにロード 
 System.Drawing.Bitmap originalImage = 
                                     new System.Drawing.Bitmap(filename);
// rectangle に読み込んだビットマップ画像の大きさをストア
Rectangle bounds =
       new Rectangle(0, 0, originalImage.Width, originalImage.Height);

// Lock the memory holding this bitmap so that only we are allowed to mess with it.
// ここでDirectX系が扱いやすいBitmapデータにしてる LockBits形式で扱うってことかな
System.Drawing.Imaging.BitmapData imageData
           = originalImage.LockBits(bounds,
                          System.Drawing.Imaging.ImageLockMode.ReadOnly, 
                          System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Create a DataStream attached to the bitmap.
SlimDX.DataStream dataStream
                                      new DataStream(imageData.Scan0,
                                                               imageData.Stride * imageData.Height,
                                                               true,
                                                               false);
最後は SlimDXのクラス DataStream に流し込む

でSlimDXの公式サイトに確認に行ったら!危険だからアクセスすんな画面???

数日前には行けてたのに(涙)





       

0 件のコメント:

コメントを投稿