private void espelho(bool vertical) { Poligono p = getPoligonoSelecionado(); if (p != null) { Point pt = p.getCentroAtual(); p.traslacao(-pt.X, -pt.Y); p.espelhamento(vertical); p.traslacao(pt.X, pt.Y); desenhaPoligonos(); } }
private void desenhaPoligonos() { pictureBox.Image = imagemBmp = new Bitmap(W, H); Util.preencher((Bitmap)pictureBox.Image, fundo); for (int i = 0; i < poligonos.Count; i++) { Poligono p = poligonos[i]; p.desenha(imagemBmp); Point centro = p.getCentroAtual(); } pictureBox.Image = imagemBmp; }
private void moverPoligonoClick(MouseEventArgs e) { if (moverPoligono) { Poligono p = getPoligonoSelecionado(); Point pontos = p.getCentroAtual(); double dy = (double)e.Y - pontos.Y; double dx = (double)e.X - pontos.X; p.traslacao(dx, dy); desenhaPoligonos(); } }
private void btAplicar_Click(object sender, EventArgs e) { Poligono p = getPoligonoSelecionado(); if (p != null) { double tx = 0; double ty = 0; double angulo = 0; double.TryParse(tbTranslacaoX.Text, out tx); double.TryParse(tbTranslacaoY.Text, out ty); double.TryParse(tbRotacao.Text, out angulo); if (rbOrigem.Checked) { if (rbTranslacao.Checked) { p.traslacao(tx, ty); } if (rbEscala.Checked) { p.escala(tx, ty); } if (rbRotacao.Checked) { p.rotacao(angulo); } if (rbCisalhamento.Checked) { p.cisalhamento(tx, ty); } if (rbHorizontal.Checked) { p.espelhamento(false); } if (rbVertical.Checked) { p.espelhamento(true); } } else { if (rbCentro.Checked) { Point pt = p.getCentroAtual(); p.traslacao(-pt.X, -pt.Y); if (rbTranslacao.Checked) { p.traslacao(tx, ty); } if (rbEscala.Checked) { p.escala(tx, ty); } if (rbRotacao.Checked) { p.rotacao(angulo); } if (rbCisalhamento.Checked) { p.cisalhamento(tx, ty); } if (rbHorizontal.Checked) { p.espelhamento(false); } if (rbVertical.Checked) { p.espelhamento(true); } p.traslacao(pt.X, pt.Y); } } desenhaPoligonos(); } }