public static byte[] ToArray(IBitmapWrapper bitmap)
        {
            MemoryStream stream = new MemoryStream();

            ToStream(bitmap, stream);
            return(stream.ToArray());
        }
        public static void ToFile(IBitmapWrapper bitmap, string filename)
        {
            Stream stream = FileStreamFactory.New(filename, "rw");

            ToStream(bitmap, stream);
            stream.Dispose();
        }
        public SVGToPNGConverter(ISVGWrapper svgDocumentWrapper, IBitmapWrapper bitmapWrapper, IFileSystemProvider fileSystemProvider)
        {
            AssertArgument.IsNotNull(nameof(svgDocumentWrapper), svgDocumentWrapper);
            AssertArgument.IsNotNull(nameof(bitmapWrapper), bitmapWrapper);
            AssertArgument.IsNotNull(nameof(fileSystemProvider), fileSystemProvider);

            this.svgDocumentWrapper = svgDocumentWrapper;
            this.bitmapWrapper      = bitmapWrapper;
            this.fileSystemProvider = fileSystemProvider;
        }
예제 #4
0
        public List <Rectangle> GenerarColeccionDeContenedores(IFragmentoParaAnalisisWrapper fragmentoWrapper)
        {
            this.fragmentoPrincipal = fragmentoWrapper;
            this.imagenCompleta     = fragmentoWrapper.ImagenContenedoraWrapper;
            Size tamañoContenedor = this.CalcularTamañoDeContenedor();

            int              posicionX      = 0;
            int              posicionY      = 0;
            bool             finalDeImagenY = false;
            bool             areaCubierta   = false;
            List <Rectangle> contenedores   = new List <Rectangle>();

            while (!areaCubierta)
            {
                Rectangle contenedor = new Rectangle(new Point(posicionX, posicionY), tamañoContenedor);
                contenedores.Add(contenedor);
                posicionX = posicionX + tamañoContenedor.Width / 2;
                if (posicionX > this.imagenCompleta.Width)
                {
                    posicionX = this.imagenCompleta.Width - tamañoContenedor.Width;

                    if (!finalDeImagenY)
                    {
                        posicionY = posicionY + tamañoContenedor.Height / 2;
                        if (posicionY > this.imagenCompleta.Height)
                        {
                            posicionY      = this.imagenCompleta.Height - tamañoContenedor.Height;
                            finalDeImagenY = true;
                        }
                    }
                    else
                    {
                        areaCubierta = true;
                    }
                }
            }

            return(contenedores);
        }
 public static void ToStream(IBitmapWrapper bitmap, Stream stream)
 {
     throw new NotImplementedException();
 }