示例#1
0
        private void OrganizarFiguras(List <DXFItem> figuras)
        {
            Bitmap bitmapOcupacao = PlacaGravacao.GetBitmap();

            foreach (var figura in figuras)
            {
                int x = 0, y = 0;
                if (EncontrarPosicaoFiguraNoPlano(figura, out x, out y, bitmapOcupacao))
                {
                    log.Enqueue("Alocado a figura " + figura.nome + " na posicao X: " + x.ToString() + " e Y: " + y.ToString());
                    //Adiciona o item na lista de itens organizado
                    ItemOrganizado item = new ItemOrganizado(figura);
                    item.X = x + espacamentoX;
                    item.Y = y + espacamentoY;
                    item.FiguraPosicionada = true;
                    itemOrganizados.Add(item);

                    //Ocupa a area do bitmap
                    PreencherAreaPosicionamento(item, ref bitmapOcupacao);
                }
                else
                {
                    log.Enqueue("Nao foi possivel encontrar espaco para alocar a figura " + figura.nome);
                }
            }
        }
示例#2
0
 public Bitmap GetBitmapResultado()
 {
     if (itemOrganizados.Count > 0)
     {
         return(figurasPosicionadas.GetBitmap());
     }
     else
     {
         return(new Bitmap(1, 1));
     }
 }