Texture2D ToTexture2D(Bitmap bmp, bool reflesh = false) { if (bmp == null) { return(null); } if (reflesh) { if (bmpToTex.ContainsKey(bmp)) { bmpToTex[bmp].Dispose(); } var tex = XNATexture.Load(GraphicsDevice, bmp); bmpToTex[bmp] = tex; return(tex); } else { if (bmpToTex.ContainsKey(bmp)) { return(bmpToTex[bmp]); } var tex = XNATexture.Load(GraphicsDevice, bmp); bmpToTex[bmp] = tex; return(tex); } }
/// <summary> /// Palauttaa kuvan png-muodossa, jossa se voidaan esimerkiksi tallentaa /// DataStorage.Export -metodilla. /// </summary> /// <returns></returns> public Stream AsPng() { DoInitTexture(); MemoryStream pngStream = new MemoryStream(); XNATexture.SaveAsPng(pngStream, Width, Height); pngStream.Seek(0, SeekOrigin.Begin); return(pngStream); }
/// <summary> /// Palauttaa kuvan jpeg-muodossa, jossa se voidaan esimerkiksi tallentaa /// DataStorage.Export -metodilla. /// </summary> /// <returns></returns> public Stream AsJpeg() { DoInitTexture(); MemoryStream jpegStream = new MemoryStream(); XNATexture.SaveAsJpeg(jpegStream, Width, Height); jpegStream.Seek(0, SeekOrigin.Begin); return(jpegStream); }
public void Dispose() { if (_isFromContentManager || IsDisposed) { return; } if (XNATexture != null) { if (!XNATexture.IsDisposed) { XNATexture.Dispose(); } XNATexture = null; } IsDisposed = true; }
protected override void Initialize() { basicEffect = new BasicEffect(GraphicsDevice); basicEffect.TextureEnabled = true; basicEffect.VertexColorEnabled = true; basicEffect.View = XNAMatrix.CreateLookAt( orgCameraPosition, XNAVector3.Zero, XNAVector3.Up ); basicEffect.Projection = XNAMatrix.CreatePerspectiveFieldOfView( XNAMathHelper.ToRadians(45.0f), (float)GraphicsDevice.Viewport.Width / GraphicsDevice.Viewport.Height, 1.0f, 10000.0f ); basicEffect.Texture = null; dummyTexture = XNATexture.Load(GraphicsDevice, "./dummyTexture.png"); }
public void SaveAsPng(Stream stream, int width, int height) { XNATexture.SaveAsPng(stream, width, height); }
public void SetData <T>(int level, Rectangle?rect, T[] data, int startIndex, int elementCount) where T : struct { XNATexture.SetData(level, rect, data, startIndex, elementCount); }
public void SetData <T>(T[] data, int startIndex, int elementCount) where T : struct { XNATexture.SetData(data, startIndex, elementCount); }
public void SetData <T>(T[] data) where T : struct { XNATexture.SetData(data); }
public void GetData <T>(Rectangle rect, T[] data) where T : struct { XNATexture.GetData(0, rect, data, 0, data?.Length ?? 0); }