Δελφοί: Πώς να επισημάνετε φωτογραφίες με τον τρόπο facebook κάνει

ψήφοι
0

Χρειάζομαι έναν τρόπο να επισημάνετε φωτογραφίες σε ένα desktop εφαρμογή των Δελφών τον τρόπο που το Facebook κάνει.

Αυτό περιλαμβάνει κάποιο τρόπο για να προσθέσετε εύκολα τις ετικέτες πάνω από τους ανθρώπους, και στη συνέχεια να αιωρείται το ποντίκι πάνω από το πρόσωπο στη φωτογραφία για να δείξει την ετικέτα.

Οι δύο προτάσεις στην απάντηση σε: « Δελφοί Εξαρτήματα για πρόσωπο αναγνώρισης και επισήμανσης » δεν λύνουν αυτό.

Αλλά δεν έχω ιδέα από πού να αρχίσω, και δεν μπόρεσαν να βρουν ιδέες στο διαδίκτυο σχετικά με το πώς να το κάνουμε αυτό. Πώς το Facebook να το κάνει; Ή ίσως υπάρχει ένα στοιχείο για τους Δελφούς που θα το επιτρέψει.

Ποιος θα ήταν ο καλύτερος τρόπος για να δοκιμάσετε την εφαρμογή του Facebook, όπως ετικέτες;


ps Αυτό είναι μερικά από τα ορισμού API του Facebook για το σκοπό αυτό: http://wiki.developers.facebook.com/index.php/Photos.addTag

Εδώ είναι ένα πρόγραμμα Java που υλοποιεί την λειτουργικότητα tagging πρόσωπο που θέλω να κάνω στους Δελφούς app μου: FB-φωτογραφία-uploader

Δημοσιεύθηκε 01/04/2009 στις 01:02
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
0

Είμαι λίγο σύγχυση ως προς την ερώτησή σας. Προσπαθείτε να αλληλεπιδρούν με το Facebook ή απλά να αντιγράψετε τη λειτουργικότητα;

Αν προσπαθείτε να αντιγράψετε τη λειτουργικότητα: Θα πρέπει να είναι σε θέση να εμφανίζει μόνο την εικόνα, επιτρέπουν στο χρήστη να επιλέξει το ορθογώνιο, πιθανόν να αντιγράψετε την εικόνα σε ένα νέο αντίγραφο για να κοινοποιεί στο άλλο άτομο με, και να εφαρμόσει μια ετικέτα σε ένα DB. Μερικές χρήσιμες συνδέσεις: εδώ είναι μια επίλεκτη παράδειγμα της εικόνας και εδώ είναι το αντίγραφο τμήμα της εικόνας παράδειγμα. Είχα πραγματικά ότι θα μπορούσατε να κάνετε την επιλογή εικόνας σε ένα Paintbox, αλλά δεν έχουν στην πραγματικότητα παίζεται με μία από αυτές για πάντα.

Εάν προσπαθείτε να αποκτήσετε πρόσβαση στο API: Το περιβάλλον .NET μπορεί να λειτουργήσει για σας. Από ό, τι μπορώ να πω, δεν υπάρχει καμία διασύνδεση COM έτσι θα πρέπει να γράψετε το δικό σας σύνδεσμο ή να χρησιμοποιήσετε μια εφαρμογή .NET Δελφούς. Σημείωση: όλες αυτές οι πληροφορίες έρχονται από το Google γι 'αυτό δεν θα ορκιστούν πάνω-κάτω ότι είναι πραγματικά η σημερινή κατάσταση των πραγμάτων. Η μόνη άλλη αίτηση Facebook API που είδα ήταν από το 2007.

Αν θέλετε να κάνετε αυτόματη αναγνώριση προσώπου, OpenCV από το αναφερόμενο ζήτημα μοιάζει με μια αξιοπρεπή τρόπο να το κάνει (ειδικά αν έχετε πρόσβαση σε C ++ Builder).

Απαντήθηκε 01/04/2009 στις 02:34
πηγή χρήστη

ψήφοι
4

Οι βασικές παράμετροι του API που αναφέρθηκαν είναι η φωτογραφία ταυτότητας, οι συντεταγμένες και η ετικέτα. Η ετικέτα μπορεί να είναι είτε το αναγνωριστικό χρήστη ενός χρήστη στο Facebook, ή μπορεί να είναι ελεύθερης μορφής κειμένου (για την περίπτωση που η ετικέτα θέμα δεν είναι χρήστης του Facebook). Facebook χρησιμοποιεί ένα μόνο συντονίσει επειδή χρησιμοποιεί περιοχές σταθερό μέγεθος για να υποδηλώσει μια ετικέτα περιοχή? η ιδέα είναι να κάνετε κλικ στο κέντρο του προσώπου ενός ατόμου, και το Facebook αποθηκεύει μόνο σε αυτό το σημείο.

Εάν επιλέξετε να εμφανιστεί μια εικόνα σε ένα TImageέλεγχο (αυτή είναι η προφανής πρώτη επιλογή, μετά από όλα), μπορείτε να εντοπίσετε κλικ του ποντικιού με το OnMouseDownκαι OnMouseUpεκδηλώσεις. (Η OnClickεκδήλωση είναι απλούστερη, αλλά δεν σας πω τις συντεταγμένες.) Μόλις έχετε αποκτήσει ένα σημείο, ζητά για μια ετικέτα για να συνοδεύσει αυτό το σημείο. Μπορείτε να χρησιμοποιήσετε προκαθορισμένες ετικέτες, όπως ταυτότητες χρηστών του Facebook, ή απλά να χρησιμοποιήσετε απλό κείμενο, ή να χρησιμοποιήσετε κάτι από τη δική σας επινόηση. Το ερώτημα για το τι θα χρησιμοποιήσετε για να αντιπροσωπεύει μια τιμή της ετικέτας είναι ορθογώνια σε ό, τι άλλες ερωτήσεις που έχετε ζητήσει μέχρι τώρα.

Το άλλο μισό της φωτογραφίας tagging του Facebook είναι ότι μετακινώντας το ποντίκι πάνω από την εικόνα εμφανίζει το κείμενο ετικέτα πάνω από την εικόνα, και μετακινώντας το ποντίκι πάνω από τις ετικέτες παρακάτω τονίζουν οι σχετικές περιοχές. Χειριστείτε OnMouseMoveτα γεγονότα και να γράψετε κάποιο κώδικα για να εμφανίσετε ή να αποκρύψετε τις ετικέτες και σχήματα ανάλογα με την περίπτωση. Εάν χρησιμοποιείτε TLabelκαι TShape, ίσως να μην χρειάζεται καν να τροποποιήσετε την εικόνα, αλλά δείχνει τα στοιχεία ελέγχου στο πάνω μέρος της εικόνας μπορεί να επηρεάσει περαιτέρω OnMouseMoveεκδηλώσεις για την εικόνα. Δεν θα πάρει πολύ χρόνο για να δοκιμάσετε μερικά πειράματα και να δούμε τι λειτουργεί για σας.

Απαντήθηκε 01/04/2009 στις 04:25
πηγή χρήστη

ψήφοι
3

lkessler, μόλις διάβασα την απάντησή σας στην Μάρσαλ Fryman, οπότε μπορεί να έχει ένα ζευγάρι επιλογές για εσάς:

THotSpotImage - Αν έχετε ήδη συστατικά TMS ...

ImageEn - σε περίπτωση που αυτά έχουν ήδη ...

Δείτε W2M του απάντηση # 3 νομίζω περαιτέρω εγώ πρέπει να πάρει όλα τα εσωτερικά pixels από τις επιλογές μου, έτσι πώς μπορώ να αποθηκεύσετε τις επιλογές / αντικειμένων μου;

Αποθήκευση της επιλογής αποθηκεύει μόνο την ίδια την επιλογή. Δεν αποθηκεύσετε την εικόνα στο εσωτερικό της επιλογής:

Διαδικασία SaveSelectionToFile (const FileName: string)? SaveSelectionToFile αποθηκεύει την τρέχουσα επιλογή στο συγκεκριμένο αρχείο. Παράδειγμα ImageEnView1.Select (10,10,100,100)? ImageEnView1.SaveSelectionToFile ( 'selection1')? .. sel1.Position: = 0? ImageEnView1.LoadSelectionFromFile ( 'selection1')? // αυτό είναι σαν Select (10,10,100,100)

Απαντήθηκε 01/04/2009 στις 18:43
πηγή χρήστη

ψήφοι
0

Στο Graphic32-βιβλιοθήκη , μπορείτε να έχετε πολλές στρώσεις πάνω στο άλλο σε μια εικόνα. Ένα από τα στρώματα που παρέχεται έξω από το κουτί, είναι μια TRubberbandLayer που επιτρέπει στο χρήστη να επανατοποθετεί / αλλάξετε το μέγεθος του στρώματος κατά το χρόνο εκτέλεσης.

Η εκδήλωση MouseMove για την TImage32-συστατικό, έχει μια παράμετρο που δίνει το στρώμα επί του παρόντος κάτω από το δρομέα.

type TImgMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState; X, Y: Integer; Layer: TCustomLayer) of object;

Ένας συνδυασμός rubberbandlayers και η MouseMove εκδήλωση θα πρέπει να είναι καλή λύση, νομίζω.

Απαντήθηκε 02/04/2009 στις 08:25
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more