public override Texture Load(IResource resource, LoaderParameters parameters) { ImageLoaderParameters imageParams = parameters as ImageLoaderParameters; if (imageParams == null) { imageParams = new ImageLoaderParameters(); } return(m_translator.Load(resource, m_imageType, imageParams)); }
public Texture Load(IResource resource, ImageType imageType, ImageLoaderParameters loaderParams) { m_imageState.AbsoluteFormat = DataFormat.RGBA; m_imageState.AbsoluteDataType = DataType.UnsignedByte; m_imageState.AbsoluteOrigin = OriginLocation.UpperLeft; ApplyImageStates(); using (Stream stream = resource.OpenStream()) { DevIL.Image image = m_importer.Load(stream, imageType); return(CreateTexture(new ManagedImage(image))); } }
public override Texture Load(IResource resource, LoaderParameters parameters) { Stream str = resource.OpenStream(); SD.Bitmap bitmap = new SD.Bitmap(str); ImageLoaderParameters imageParams = parameters as ImageLoaderParameters; if (imageParams != null) { if (imageParams.FlipImage) { bitmap.RotateFlip(SD.RotateFlipType.RotateNoneFlipY); } } byte[] data = GetData(bitmap); SD.Imaging.PixelFormat pixelFormat = bitmap.PixelFormat; Color[] colors = null; switch (pixelFormat) { case SD.Imaging.PixelFormat.Format32bppArgb: colors = GetRGBA(bitmap, data); break; case SD.Imaging.PixelFormat.Format24bppRgb: colors = GetRGB(bitmap, data); break; case SD.Imaging.PixelFormat.Format8bppIndexed: colors = GetIndexed(bitmap, data); break; default: throw new InvalidOperationException("Cannot read from that format encoding"); } Texture2D tex = new Texture2D(bitmap.Width, bitmap.Height, true, SurfaceFormat.Color, new DataBuffer <Color>(colors)); tex.Name = resource.Name; bitmap.Dispose(); str.Close(); return(tex); }