77 messaggi dal 04 settembre 2010
Buona sera,
stò sviluppando un programmino in vb.net 2012 per la gestione dei punteggi per il tiro a segno.
Volevo chiedere un aiuto per quanto riguarda il posizionamento di cerchi di vari colori sovrapposti in base al punteggio e le relative coordinate.
I cerchi devo posizionarli sopra un controllo image dove per immagine c'è posizionato un bersaglio che ho scaricato da internet.
Praticamente in base al punto cambia colore e i punti hanno un decimale.
Spero in un aiuto grazie in anticipo
11.724 messaggi dal 09 febbraio 2002
Contributi
Ciao,

il posizionamento di cerchi di vari colori

I "cerchi" sono i punti in cui il bersaglio è stato colpito dal tiratore?
Come ce li hai memorizzati questi cerchi nel database? Hai sia il punteggio che l'angolo?

ciao,
Moreno

Enjoy learning and just keep making
77 messaggi dal 04 settembre 2010
ho il punteggio nelle textbox e vorrei ricavare le coordinate spostando col mouse il punto nella posizione esatta.
Grazie
77 messaggi dal 04 settembre 2010
Praticamente ho 10 textbox, vorrei attivare un cerchio ad ogni inserimento del punto nelle textbox, poi spostare il punto nella posizione esatta del bersaglio a questo punto dovrei rilevare le coordinate e assieme al punto salvare nel database i risultati per un successivo caricamento e visualizzazione.
Grazie
11.724 messaggi dal 09 febbraio 2002
Contributi
Ok, facciamo una cosa per volta. Per prima cosa disegna un cerchio quando l'utente digita un valore nella textbox.

Supponiamo che i punteggi vadano da 0 a 10. Imposta lo XAML così, creando una Grid interna a una ViewBox che ha 10 sia in larghezza che in altezza. Poi, all'interno di tale Grid, ci metti un'Ellipse la cui Width e Height saranno determinate in base al valore contenuto nella TextBox. Se il valore inserito nella textbox è 9, il cerchio dovrà avere larghezza e altezza pari a 1 (cioè, 10 che è il valore massimo meno il valore digitato nella textbox). Infatti, più ci avviciniamo al centro, più il cerchio sarà stretto.
    <Grid>
        <Image Source="https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/WA_80_cm_archery_target.svg/2835px-WA_80_cm_archery_target.svg"></Image>
        <Viewbox>
            <Grid Width="10" Height="10">
                <Ellipse x:Name="Cerchio" Stroke="Red" StrokeThickness="0.1" Width="5" Height="5"></Ellipse>
            </Grid>
        </Viewbox>
    </Grid>


Nella Grid più esterna ho anche inserito l'immagine di un bersaglio.

In base alla tua abilità con XAML e il pattern MVVM, o ti crei un certo numero di Ellipse oppure ci metti un ItemsControl e te li fai generare dinamicamente in base a quante textbox sono state riempite.

ciao,
Moreno
Modificato da BrightSoul il 29 gennaio 2019 08:31 -

Enjoy learning and just keep making
77 messaggi dal 04 settembre 2010
Grazie per l'aiuto,
Ma sto programmando un win form
11.724 messaggi dal 09 febbraio 2002
Contributi
Ok, con Winforms è più difficile perché il suo sistema di layout non è evoluto come quello di WPF.
Comunque, puoi provarci lo stesso. La tecnica resta la stessa: devi impostare la larghezza e l'altezza del cerchio in base al valore indicato nella textbox.

Prova ad usare il controllo OvalShape che si trova nel Visual Basic Power Pack che devi scaricare e installare.
https://docs.microsoft.com/en-us/dotnet/visual-basic/developing-apps/windows-forms/how-to-draw-shapes-with-the-ovalshape-and-rectangleshape-controls

In alternativa puoi embeddare controlli WPF in Winforms in questo modo.
https://docs.microsoft.com/it-it/dotnet/framework/wpf/advanced/walkthrough-hosting-a-wpf-composite-control-in-windows-forms

Se è una nuova applicazione potresti direttamente farla con WPF, oppure usare le tecnologie del web con Electron.

ciao,
Moreno
Modificato da BrightSoul il 29 gennaio 2019 13:39 -

Enjoy learning and just keep making
77 messaggi dal 04 settembre 2010
scusa se non ho più risposto ma sono stato molto impegnato,
ho provato a scaricare powerpachs ma non ho capito molto su come posizionare dei cerchi su una image.

questa è l'immagine che ho scaricato e che devo usare https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ6-kSLylB8s2kBB2SgWggnKyarT6XlhaMDYuIPX4fi-r5f_PQY

come vedi ci sono una serie di cerchi e ogni cerchio ha un punteggio.

il centro perfetto in termini di punteggio per il tiro a segno è 10.9
i punteggi hanno un colore ROSSO per i punteggi da 10.9 a 10.0
GIALLO da 9.9 a 9.0, Verde CHIARO da 8.9 a 8.0, e cosi via.

Il problema è che il colpo arriva sul bersaglio in qualsiasi posizione sul bersaglio, come faccio a creare i cerchi in base al punteggio e al punto esatto di impatto?
e soprattutto rivederli quando carico la gara?

Ho preso in considerazione anche WPF frameworks 3.0 perchè il programma molto probabilmente devegirare su un sistema operativo XP.
Ho caricato l'immagine e devo dire che va bene, il fatto è che il cerchio deve avere un colore uniforme e non solo il bordo.
Grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.