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

 

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

Ερώτηση Για χρήση του PictureBox

Îåêßíçóå áðü ôï ìÝëïò pontifikas. Τελευταία δημοσίευση από το μέλος pontifikas στις 23-08-2005, 08:22. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  22-08-2005, 09:45 4481

    Ερώτηση Για χρήση του PictureBox

    Έχω ένα PictureΒox που του έχω κοτσάρει μια φωτογραφία.
    Θέλω να μπορώ να κάνω κάποιες λειτουργίες πάνω στην φωτογραφία αυτήν:
    1)Να επιλέγω μια περιοχή με το mouse δημιουργόντας ένα rectangle(όπως όταν κάνουμε κλικ και σέρνουμε το mouse στο Desktop).
    2)Να επιλέγω και να χρωματίζω σημεία της φωτογραφίας με το mouse.

    Τα παραπάνω έχουν υλοποιηθεί αλλά μου λείπει μια λεπτομέρεια:
    1)Θέλω το rectangle που δημιουργείται να παραμένει στην φωτό(ώστε να βλέπω ποιά περιοχή επέλεξα) χωρίς να την χαλάει όμως.
    2)Θέλω τα σημεία να παραμένουν χρωματισμένα χωρίς να χαλάει η εικόνα(να μπορώ να κάνω ας πούμε undo).
    Και λέω ένα γιατί μου φαίνεται ότι η λύση και για τα δύο θα είναι κοινή.

    Αυτό που δεν θέλω δηλαδή είναι να χρησιμοποιήσω συνάρτηση που να αλλάζει το χρώμα στα pixel της εικόνας.(Και να πρέπει να θυμάμαι ποια χρωμάτισα για να κάνω undo, κτλ κτλ).
    Θέλω κάτι, σαν να δημιουργώ ένα διάφανο layer από πάνω της και να ζωγραφίζω ελεύθερα σε αυτό, και να το σβήνω αν θέλω και όποτε θέλω.
    Πώς κάνω κάτι τέτοιο?

  •  22-08-2005, 13:29 4494 σε απάντηση της 4481

    Ερώτηση Για χρήση του PictureBox

    Καλημέρα,

    Λοιπόον..έχει κάτι ωραία τουτος στο MSDN για "ζωγραφική" όπως λένε εκεί.
    Με μία πρόχειρη σκέψη θα έλεγα ότι το rectangle για να παραμένει στην φώτο, θα ήταν να βάλεις ένα δεύτερο pictureBox με trasparency και να το χρησιμοποιήσεις σαν canvas για την δουλεία, όπως επίσης και για τον χρωματισμό.Αν θα θέλεις να κάνεις undo απλά κάνε dispose το object.Μια ακόμα ποιο πρόχειρη σκέψη λέει οτι για κάθε rectangle να φτιάχνεις new pictureBox και στο undo απλά να κρατάς σε ένα array το όνομα των pictureBox και να τα τραβάς dispose σε asceding order, ώστε να εξαφανίζονται οι αλλαγές.

    Πρόχειρες σκέψεις, μόλις ξύπνησα..
    Ίσως θα έπρεπε να γίνω μπακάλης.. :P

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  22-08-2005, 14:57 4500 σε απάντηση της 4481

    Ερώτηση Για χρήση του PictureBox

    Ναι. Αν μου πείς και πώς κάνω transparent ένα picturebox Καθώς και το bmp Που θα φορτώσω στο picturebox για να το χρησιμοποιήσω ως canvas.
    Ότι και αν δοκίμασα ....δεν. Huh? [:^)]
  •  22-08-2005, 15:16 4503 σε απάντηση της 4500

    Απ: Ερώτηση Για χρήση του PictureBox

    Από το BackColor Property.
    Το κάνεις set σε Transaparent και βάζεις για BackgroundImage το .bmp που θές για Canvas..
    Τα υπόλοιπα picturebox απλά τα βάζεις Transparent το ένα πάνο στο άλλο.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  22-08-2005, 15:52 4505 σε απάντηση της 4503

    Απ: Ερώτηση Για χρήση του PictureBox

    Ρίξε μια ματιά στο PAINT.NET : http://www.eecs.wsu.edu/paint.net/



    Sex is like programing; One mistake, and you will have to support it for the rest of your life…
  •  22-08-2005, 16:04 4506 σε απάντηση της 4503

    Απ: Ερώτηση Για χρήση του PictureBox

     pkefal wrote:
    Από το BackColor Property.
    Το κάνεις set σε Transaparent και βάζεις για BackgroundImage το .bmp που θές για Canvas..
    Τα υπόλοιπα picturebox απλά τα βάζεις Transparent το ένα πάνο στο άλλο.



    Μα εδώ είναι το πρόβλημα.
    Σαν canvas Θα ήθελα ένα transparent bitmap. Σαν τις ζελατίνες στις διαφάνεις που είχαμε στο Πανεπιστήμιο Stick out tongue [:P].
    Πάντως ούτε αυτό με το backcolour δούλεψε. Έβαλα ένα picturebox πάνω από το κανονικό μου, του έβαλα backcolor = transparent, φόρτωσα
    την εικόνα στο κανονικό picturebox και το "transparent" την εκανε occlude.

    Άλλος τρόπος.... Sad [:(]
  •  23-08-2005, 08:22 4524 σε απάντηση της 4506

    Απ: Ερώτηση Για χρήση του PictureBox

    Λοιπόν. Το βρήκα Big Smile [:D]

    Το PictureBox έχει 2 πεδία(και ουσιαστικά 2 επίπεδα) για image.Έχει Background Image, και Image(σαν foreground).
    Έβαλα την εικόνα μου στο background, και τον canvas(ενα new Image() απλά) στο forground.
    Έκανα δειγματοληψία (Color c = getPixel(0,0)(αυτό θέλει μετατροπή σε Bitmap)) από τοn Canvas και στην συνέχεια έκανα maketransparent(c) και αυτό ήταν Big Smile [:D]

    Ευχαριστώ για τις ιδέες.Smile [:)]

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