none
Desfazer marcação feita em uma imagem RRS feed

  • Discussão Geral

  • Ola pessoal...

    Estou com um situação que eu gostaria de ouvir sugestões de como resolver, o caso é o seguinte :

    Tenho que fazer algumas marcações (pontos) em uma imagem (foto) até aqui sem problemas já esta feito. O problema é que se o usuário errar o lugar do ponto ele precisa desfazer essa marcação, eu até criei uma variavel "Private IMGUndoStack As Stack(Of Image) = Nothing" para quardar uma copia das imagem e se ele precisar ele pode fazer um UNDO onde eu vou recuperando as imagens anteriores. Até aqui tudo funciona.

    Onde "mora" o problema : Se ele fez 10 marcações na foto e quiser apagar a 1a marcação com o UNDO ele tem vai desmarcando uma por uma até chegar na 1a e acaba desmarcando todos os pontos, isso é um problema pois ele terá que refazer aqueles pontos que não precisavam ser desmarcados.

    Eu precisava descobrir um jeito onde o usuario pudesse desmarcar um ponto especifico (ex: desmarcar o 3o ponto) sem mexer nos outros.

    Acho que deixei claro a situação.

    Agradeço antecipadamente qualquer sugestão.

    Eduardo

    • Tipo Alterado Marcos SJ sexta-feira, 29 de abril de 2016 20:06 How to
    sexta-feira, 29 de abril de 2016 17:20

Todas as Respostas

  • Oi.

    Não use uma pilha. Use uma lista.  Use o método Add como usaria o Push.  O método RemoveAt remove um item por seu índice dentro da lista. 


    sexta-feira, 29 de abril de 2016 20:22
  • Ola Vitor....

    Se eu entendi isso não resolveria o problema, a situação é : Se a imagem tem 10 pontos e eu quero desfazer o 6º ponto os pontos de 1 a 5 e os pontos de 7 a 10 devem permanecer.... e nos estamos falando de uma unica imagem que tem 10 pontos marcados...

    Abs.

    Eduardo

    terça-feira, 3 de maio de 2016 19:45
  • Boa noite.

    Você não entendeu.

    Onde "mora" o problema : Se ele fez 10 marcações na foto e quiser apagar a 1a marcação com o UNDO ele tem vai desmarcando uma por uma até chegar na 1a e acaba desmarcando todos os pontos, isso é um problema pois ele terá que refazer aqueles pontos que não precisavam ser desmarcados.

    Porque de uma pilha só se pode adicionar e remover itens do topo; em uma pilha de 10 itens, para remover o sexto item, os items de 7 a 10 devem ser removidos primeiro.

    Listas permitem inserção e remoção de itens dentro delas.

    Eu precisava descobrir um jeito onde o usuario pudesse desmarcar um ponto especifico (ex: desmarcar o 3o ponto) sem mexer nos outros.

    O Método RemoveAt de List remove um item por seu índice dentro da lista.  Um item específico.  Sem mexer nos outros.

    quarta-feira, 4 de maio de 2016 00:19