public void Dispose() { if (_session != null) { _session.Dispose(); } }
async void setInput(Stream s) { //Dispose old session ressources. if (session != null) { session.Dispose(); session = null; } //reset stream position s.Seek(0, SeekOrigin.Begin); //create a session var tmpsession = await EditingSessionFactory.CreateEditingSessionAsync(s); tmpsession.AddFilter(FilterFactory.CreateCropFilter(new Rect(0, 0, 1, 1))); var foo = await tmpsession.RenderToJpegAsync(); tmpsession.UndoAll(); session = tmpsession; inputSize = new Size() { Width = session.Dimensions.Width, Height = session.Dimensions.Height }; currentPos = new Point(session.Dimensions.Width / 2, session.Dimensions.Height / 2); if (session.Dimensions.Width > session.Dimensions.Height) { currentScale = output.Height / session.Dimensions.Height; } else { currentScale = output.Width / session.Dimensions.Width; } currentAngle = 0.0; saveLastPossaveLastPositionData(); requestProcessing(); }