public ImageRenderData RenderEffect(Bitmap rawPhoto, ComicEffectType effectType, Dictionary <string, object> parameterValues) { // Resize rawPhoto = this.ResizeToMax(rawPhoto); // Convert bitmap to color if (rawPhoto.PixelFormat != PixelFormat.Format24bppRgb) { rawPhoto = rawPhoto.ConvertFormat(PixelFormat.Format24bppRgb); } // Convert IComicRender renderEffect = this.GetRenderEffect(effectType); renderEffect.SetRenderParameterValues(parameterValues); Bitmap renderPhoto = renderEffect.Render(rawPhoto); // Read rendered photo into memory MemoryStream renderStream = new MemoryStream(); renderPhoto.Save(renderStream, ImageFormat.Jpeg); renderStream.Seek(0, SeekOrigin.Begin); byte[] renderBuffer = new byte[renderStream.Length]; renderStream.Read(renderBuffer, 0, renderBuffer.Length); // Read raw photo into memory MemoryStream rawStream = new MemoryStream(); rawPhoto.Save(rawStream, ImageFormat.Jpeg); rawStream.Seek(0, SeekOrigin.Begin); byte[] rawBuffer = new byte[rawStream.Length]; rawStream.Read(rawBuffer, 0, rawBuffer.Length); return(new ImageRenderData(rawStream, renderStream)); }
public List <RenderParameter> GetRenderParameters(ComicEffectType effect) { IComicRender renderEffect = this.GetRenderEffect(effect); return(renderEffect.GetRenderParameters()); }