Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

drag and drop μιας φωτογραφιας μεσα στην αλλη

Îåêßíçóå áðü ôï ìÝëïò vagvamv. Τελευταία δημοσίευση από το μέλος vagvamv στις 25-02-2014, 19:33. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  25-01-2014, 11:27 74930

    drag and drop μιας φωτογραφιας μεσα στην αλλη

    Καλησπέρα σε ολους,

    Αντιμετωπίζω ενα πρόβλημα και θα ήθελα την βοήθεια σας,

    Τι θελω να κανω και δεν μου βγαίνει.Εχω δυο φωτογραφίες, η μια είναι ενα ποτήρι και η άλλη μια πέτρα.Θέλω με drag and drop να βάλω την πέτρα μέσα στο Ποτήρι.

    Έκανα δοκιμές με picturebox αλλα αντιμετωπίζω θέμα με το transparent της φωτογραφίας μέσα στην άλλη. Δοκίμασα με draw αλλλά δεν ξέρω πως θα κάνω drag and drop και delete

    αυτές τις φωτογραφίες.Κάποιοι μου είπαν να δωκιμάσω ΧΝΑ αλλά δεν έχω γνώσεις της πλατφόρμας.Εχω visual studio 2008,vb.net

    Σας ευχαριστώ εκ τον προτέρων 

     

  •  26-01-2014, 20:14 74940 σε απάντηση της 74930

    Απ: drag and drop μιας φωτογραφιας μεσα στην αλλη

    Καλησπέρα,

    Αρχικά δεν χρειάζεται να ανακατέψεις το XNA για να κάνεις κάτι τέτοιο - το πιθανότερο ότι δεν έχεις βρει τα κατάλληλα settings για να το επιτύχεις.

    Εκτός ότι η φωτογραφία που θα θέλεις να βάλεις από επάνω πρέπει να είναι transparent (.gif ή .png) θα πρέπει να έχεις και τα παρακάτω για να μπορέσεις να δεις την μία πάνω από την άλλη - έστω ότι το pictureBox1 περιέχει την φωτογραφία που πρέπει να πάει από επάνω:

    pictureBox1.BackColor = Color.Transparent;

    pictureBox1.Parent = pictureBoxMain; 

      

    George J. 


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  27-01-2014, 10:20 74942 σε απάντηση της 74940

    Απ: drag and drop μιας φωτογραφιας μεσα στην αλλη

    Σε ευχαριστώ πολύ για την απάντηση ,το έχω δοκιμάσει αυτό αλλά το πρόβλημα που εμφανίζεται με το parent είναι οτι με το drag and drop δεν είναι φυσιολογική η κίνηση δηλ αν έχω το parent του pictureboxmain τότε όταν το απομακρύνω από το pictureboxmain χάνετε.Ψάχνω να βρω έναν τρόπο όπως περίπου δουλευούν με τα solitaire που η κίνηση είναι φυσιολογική.Υπάρχει άλλος τρόπος?
  •  29-01-2014, 12:59 74961 σε απάντηση της 74942

    Απ: drag and drop μιας φωτογραφιας μεσα στην αλλη

    Το solitaire είναι παιχνίδι και το πιθανότερο είναι ότι έχει από πίσω XNA. Πριν κάνεις αυτό το βήμα, έχεις δοκιμάσει να το υλοποιήσεις σε WPF; Λογικά το WPF θα σου δώσει πολύ καλύτερη ποιότητα γραφικών, και πιθανώς να σου δώσει την ποιότητα που θες. Μπορείς να δεις ένα παράδειγμα για το WPF.

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  30-01-2014, 13:00 74972 σε απάντηση της 74930

    Απ: drag and drop μιας φωτογραφιας μεσα στην αλλη

    Εξαρτάται απ' το αν αυτό που θέλεις να κάνεις είναι κάτι που πρέπει να γίνει άμεσα γιά επαγγελματικούς λόγους ή απλά γιά να δεις πως γίνεται Drag & Drop χρησιμοποιώντας graphic objects.
    Ένας πιο γρήγορος τρόπος είναι αυτός που σκέφτηκες, απλά λάβε υπόψη σου το Z order των controls και το region property (μπορείς να φτιάξεις και δικό σου στο σχήμα που θέλεις να δείξεις από graphicspath ή regiondata).
    Ο άλλος τρόπος είναι χρονοβόρος αλλά έχει καλύτερα αποτελέσματα. 

    Όσον αφορά το GDI+, όταν έχουμε ένα graphics object είτε αυτό είναι από την OnPaint method ενός control είτε από την CreateGraphics μπορούμε να χρησιμοποιήσουμε την drawImage method. 
    Αφού το ζωγραφίσεις τότε μπορείς να φτιάξεις ένα graphicsPath object από το περίγραμμα του σχήματος που θέλεις να μετακινήσεις ( χωρίς να λάβεις υπ' όψιν σου κάποιο ουδέτερο χρώμα ), 
    γιατί στην δική σου περίπτωση το σχήμα δεν είναι συμμετρικό.

    Μετά χρησιμοποιώντας την IsVisible method ελέγχεις αν ο δείκτης του mouse είναι "μέσα" στο σχήμα σου μετά από το mouseDown event. 
    Τότε απλά κλειδώνεις τις συντεταγμένες του σχήματος σου και τις μετακινείς σε συνδυασμό με αυτές του ποντικιού με τέτοιον τρόπο έτσι ώστε να μην γίνεται snap το σχήμα στο mouse cursor. 
    Όταν γίνει mouseup τότε απλά σταματάς. Αυτός είναι και ο πιό σωστός τρόπος γιατί η μετακίνηση πρέπει να ξεκινήσει όταν το mouse είναι μέσα στην πέτρα και όχι σε κάποιο τετράγωνο που την περιέχει.

    Η σειρά με την οποία ζωγραφίζονται τα σχήματα υποδηλώνει και το Z order δηλαδή όταν η πέτρα μπει μεσα στο ποτήρι, 
    ζωγραφίζουμε πρώτα την πέτρα και μετά το ποτήρι γιατί είναι ημιδιάφανο και πρέπει να φαίνεται ότι η πέτρα είναι μέσα σε αυτό. 
    Το πραγματικά δύσκολο είναι ότι δυστυχώς δεν πρεπει κανονικά να επιτρεπεται να βάζεις την πέτρα μέσα στο ποτήρι από τα τοιχώματα αλλά από την κορυφή του, αλλά ου μπλέξεις με collision detection. 

    Αυτά ισχύουν είτε χρησιμοποιήσεις WPF είτε GDI είτε XNA.
    Αν σε ενδιαφέρει έχω δύο πολύ μικρά παραδείγματα να σου στείλω γιά να ξεκινήσεις, το ένα φτιάχνει γράφο (κύκλοι που ενώνονται με γραμμές) γιά να δεις πως γίνεται drag and drop και ένα άλλο που κάνει animate κύκλους χωρίς timers και DoEvents χρησιμοποιώντας το OnApplicationIdle event και την peekMessage api.
  •  25-02-2014, 19:33 75080 σε απάντηση της 74972

    Απ: drag and drop μιας φωτογραφιας μεσα στην αλλη

    Συνημμένα: example.jpg
    Σας ευχαριστω πολυ για τις απαντησεις σας. Το κατάφερα με μεγάλωμα του 1 picturebox ωστε να βρίσκεται πάντα μέσα και του εβαλα ελενχο να μην βγαίνει απο τα border.δυστοιχως δεν ξέρω wpf και γενικα δεν εχω δουλεψει ποτε γραφικα.Θα πρεπει να ξεκινησω...

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems