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

 

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

Image in binary

Îåêßíçóå áðü ôï ìÝëïò Saber. Τελευταία δημοσίευση από το μέλος Saber στις 30-10-2006, 13:02. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  29-10-2006, 13:00 19415

    Image in binary

    Γειά σας

    Υπάρχει τρόπος να ανοίξεις μια εικόνα (οποιοδήποτε τύπου) ως binary data σε πίνακα δυο διαστάσεων και να την επεξεργαστείς, στη C#? Η εφαρμογή που θέλω να φτιάξω, θα ανοίγει μια εικόνα, θα κάνει κάποιυς υπολογισμούς (όπως θα τις αλλάζει τη φωτεινότητα ή θα υπολογίζει κάποιες τιμές) και θα σώζει την επεξεργασμένη εικόνα.

    Η εικόνα είναι ασπρόμαυρη(greyscale), άρα ο πίνακας θα περιέχει τιμές από 0(μαύρο) εως 255(άσπρο).

    Ευχαριστώ εκ των προτέρων για τις απαντήσεις σας.

    I want RAM...to live my life alone
    I want RAM...leave me be
    I want RAM...to do things on my own
    I want RAM...to live my life and to be free
  •  29-10-2006, 16:20 19417 σε απάντηση της 19415

    Απ: Image in binary

    Το κάθε format εικόνας έχει το δικό του τρόπο να αποθηκεύει τα δεδομένα της εικόνας, οπότε δεν υπάρχει τρόπος να διαβάσεις μία εικόνα χωρίς να ξέρεις το format της. Από εκεί και πέρα, το GDI περιέχει τις κλάσεις Image, Bitmap και Metafile για το άνοιγμα και τροποποίηση εικόνων. Η κλάση Image είναι η base κλάση των άλλων δύο. Η Bitmap ανοίγει αρχεία BMP, GIF, JPEG, TIFF και PNG, ενώ η Metafile wmf και emf. Προφανώς εσένα θα σε ενδιαφέρει η Bitmap.

    Η Bitmap παρέχει πρόσβαση στα pixel μέσω των GetPixel και SetPixel, οι οποίες επιστρέφουν μία τιμή color. Μπορείς όμως να κάνεις και πολύ πιο προχωρημένες τροποποιήσεις μέσω της κλάσης ImageAttributes, η οποία επιτρέπει τον ορισμό Gamma, τον ορισμό πίνακα με μετατροπές χρωμάτων, τόσο για το grayscale τμήμα της εικόνας όσο και για τα χρώματα (μάλλον αυτό ζητάς). Μπορείς ακόμα και πίνακα αντικατάστασης χρωμάτων να ορίσεις.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  29-10-2006, 17:30 19419 σε απάντηση της 19417

    Απ: Image in binary

    Το Paint.NET είναι ένα πολύ όμορφο πρόγραμμα επεξεργασίας εικόνας γραμμένο σε C#. Δεν νομίζω ότι είναι ανοιχτού κώδικα, αλλά διανέμενται δωρεάν (http://www.getpaint.net) και δεν είναι obfuscated. Μπορείς λοιπόν να δοκιμάσεις να διαβάσεις τον κώδικα μέσω του reflector ή ακόμα και να δοκιμάσεις να χρησιμοποιήσεις απευθείας τα φίλτρα του, προσέχοντας βέβαια την άδεια χρήσης. Δεν ξέρω κάποιον που το έχει κάνει, ούτε το έχω δοκιμάσει. Απλά είχα ανοίξει κάποια στιγμή τα φίλτρα του στο reflector και είδα ότι είναι αρκετά κατανοητά. Δεν δοκιμάζεις να μας πεις αν κατάφερες κάτι...;
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  29-10-2006, 17:49 19421 σε απάντηση της 19419

    Απ: Image in binary

    Το Paint.NET είναι open-source και κυκλοφορεί με το MIT License. Για απλά πράγματα όμως, νομίζω ότι οι κλάσεις του .NET επαρκούν.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  29-10-2006, 17:55 19422 σε απάντηση της 19415

    Απ: Image in binary

    Παιδιά σας ευχαριστώ για τις απαντήσεις σας.

    Θα δοκιμάσω με παραδοσιακό .ΝΕΤ αλλα και με το Paint.NΕΤ.

    Stay tuned για περισσότερες εξελίξεις...
    I want RAM...to live my life alone
    I want RAM...leave me be
    I want RAM...to do things on my own
    I want RAM...to live my life and to be free
  •  30-10-2006, 01:44 19450 σε απάντηση της 19415

    Απ: Image in binary

    Τελικά το Paint.NET δεν είναι βιβλιοθήκες για επεξεργασία εικόνας για .ΝΕΤ αλλά μια καλύτερη έκδοση της ζωγραφικής των Windows, ανεπτυγμένο σε C# και περιβάλλον .NET. Δεν βρήκα κάποιο τρόπο να αλληλεπιδρά με το Visual Studio.

    θα ψάξω με την παραδοσιακή C# να δω πως γίνεται και θα σας κρατάω ενήμερους.

    Πάντως, μια ιδέα είναι να ψάξω και στον κώδικα του Paint.NET αν υπάρχει κάτι παρόμοιο με αυτό που ψάχνω :)
    I want RAM...to live my life alone
    I want RAM...leave me be
    I want RAM...to do things on my own
    I want RAM...to live my life and to be free
  •  30-10-2006, 09:57 19454 σε απάντηση της 19450

    Απ: Image in binary

    Ναι, βέβαια. Αυτό είναι. Απλά εννοούσα ότι θα είχε ενδιαφέρον να ψάξεις τον κώδικά του (μέσω του reflector ή του ίδιου του κώδικα, εφόσον είναι open source και εφόσον μπορείς να τον κατεβάσεις). Ή θα μπορούσες να βάλεις reference σε ένα από τα assemblies του για να δεις αν περιέχουν που μπορείς να χρησιμοποιήσεις.
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  30-10-2006, 13:02 19472 σε απάντηση της 19415

    Απ: Image in binary



    Ο κώδικας δίνεται δωρεάν, αλλά ποιός κάθεται να ψάχνει :)

    Βέβαια άμα δε βγεί άκρη με τον παραδοσιακό τρόπο, ψάχνουμε και παραψάχνουμε...
    I want RAM...to live my life alone
    I want RAM...leave me be
    I want RAM...to do things on my own
    I want RAM...to live my life and to be free
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems