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); } } }
public Bitmap GetBitmapResultado() { if (itemOrganizados.Count > 0) { return(figurasPosicionadas.GetBitmap()); } else { return(new Bitmap(1, 1)); } }