Inquiridor
Desfazer marcação feita em uma imagem

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
Todas as Respostas
-
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
-
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.