Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
 public override Endogine.BitmapHelpers.PixelDataProvider CreatePixelDataProvider(System.Drawing.Bitmap bmp)
 {
     Endogine.BitmapHelpers.PixelDataProviderGDI pdp = new Endogine.BitmapHelpers.PixelDataProviderGDI(bmp);
     return(pdp);
 }
Esempio n. 4
0
 public override Endogine.BitmapHelpers.PixelDataProvider CreatePixelDataProvider(System.Drawing.Bitmap bmp)
 {
     Endogine.BitmapHelpers.PixelDataProviderGDI pdp = new Endogine.BitmapHelpers.PixelDataProviderGDI(bmp);
     return pdp;
 }