public override Endogine.BitmapHelpers.PixelDataProvider CreatePixelDataProvider(System.Drawing.Bitmap bmp) { PixelDataProvider pdpTx = null; Texture tx = null; if (true) { //TODO: Saving bitmap to a MemoryStream and using TextureLoader.FromStream() might be faster tx = new Texture(this._device, bmp.Width, bmp.Height, 1, Usage.None, Format.X8R8G8B8, Pool.Managed); pdpTx = new PixelDataProvider(tx); Endogine.BitmapHelpers.Canvas canvasTx = Endogine.BitmapHelpers.Canvas.Create(pdpTx); canvasTx.Locked = true; //TODO: remove when MDX 2.0 gets up to speed... Endogine.BitmapHelpers.PixelDataProviderGDI pdpGDI = new Endogine.BitmapHelpers.PixelDataProviderGDI(bmp); Endogine.BitmapHelpers.Canvas canvasSrc = Endogine.BitmapHelpers.Canvas.Create(pdpGDI); canvasSrc.Locked = true; for (int y = canvasSrc.Height - 1; y >= 0; y--) { for (int x = canvasSrc.Width - 1; x >= 0; x--) { canvasTx.SetPixel(x, y, canvasSrc.GetPixel(x, y)); } } canvasSrc.Locked = false; canvasTx.Locked = false; } else { tx = new Texture(this._device, bmp, Usage.None, Pool.Managed); pdpTx = new PixelDataProvider(tx); } return(pdpTx); }
public override Endogine.BitmapHelpers.PixelDataProvider CreatePixelDataProvider(System.Drawing.Bitmap bmp) { PixelDataProvider pdpTx = null; Texture tx = null; if (true) { //TODO: Saving bitmap to a MemoryStream and using TextureLoader.FromStream() might be faster tx = new Texture(this._device, bmp.Width, bmp.Height, 1, Usage.None, Format.X8R8G8B8, Pool.Managed); pdpTx = new PixelDataProvider(tx); Endogine.BitmapHelpers.Canvas canvasTx = Endogine.BitmapHelpers.Canvas.Create(pdpTx); canvasTx.Locked = true; //TODO: remove when MDX 2.0 gets up to speed... Endogine.BitmapHelpers.PixelDataProviderGDI pdpGDI = new Endogine.BitmapHelpers.PixelDataProviderGDI(bmp); Endogine.BitmapHelpers.Canvas canvasSrc = Endogine.BitmapHelpers.Canvas.Create(pdpGDI); canvasSrc.Locked = true; for (int y = canvasSrc.Height-1; y >= 0 ; y--) { for (int x = canvasSrc.Width - 1; x >= 0; x--) canvasTx.SetPixel(x, y, canvasSrc.GetPixel(x, y)); } canvasSrc.Locked = false; canvasTx.Locked = false; } else { tx = new Texture(this._device, bmp, Usage.None, Pool.Managed); pdpTx = new PixelDataProvider(tx); } return pdpTx; }
public override Endogine.BitmapHelpers.PixelDataProvider CreatePixelDataProvider(System.Drawing.Bitmap bmp) { Endogine.BitmapHelpers.PixelDataProviderGDI pdp = new Endogine.BitmapHelpers.PixelDataProviderGDI(bmp); return(pdp); }
public override Endogine.BitmapHelpers.PixelDataProvider CreatePixelDataProvider(System.Drawing.Bitmap bmp) { Endogine.BitmapHelpers.PixelDataProviderGDI pdp = new Endogine.BitmapHelpers.PixelDataProviderGDI(bmp); return pdp; }