Προς το περιεχόμενο

Deep Zoom SilverLight


chrism4111

Προτεινόμενες αναρτήσεις

Γεια στην παρέα του Insomnia...

Έχω αναλάβει ένα μικρό WebProject και φτιάχνω ένα Δυναμικό ImageGallery με το MultiScaleImage του SilverLight σε C#.

To πρόβλημα μου είναι κατά την δημιουργία του Gallery στην τοποθέτηση του Collection πάνω στον Canva του MultiScaleImage Control.

Αυτό που θέλω και έχω πετύχει ως τώρα είναι να μπορώ να βάζω τις εικόνες σε 3 στήλες. Φυσικά οι ο αριθμός των γραμμών δεν μας ενδιαφέρει αφού είναι ανάλογος με τον αριθμό των εικόνων του Collection.

Όλα λειτουργούν πολύ σωστά όταν έχω εικόνες οι οποίες έχουν μέχρι ένα συγγεκριμένο
Ascept Ratio > 1 < 2.5.  Αν σε μία εικόνα το AsceptRatio ειναι κάτω του 1 τότε το ύψος της εικόνας είναι μεγαλύτερο από το width. Στην περίπτωση αυτήν κατά την διαδικασία του scale η εικόνες που βρίσκονται στο κάτω μέρος πέφτουν από πάνω και την κρύβουν.

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

Μπορει κάποιος να βοηθήσει;

Ο κώδικας ο οποιος αναλαμβάνει να βάλει τις εικόνες στον Canva είναι ο παρακάτω:

void msi_ImageOpenSucceeded(object sender, RoutedEventArgs e)
        {
            //If collection, this gets you a list of all of the MultiScaleSubImages
            //
            var x = 0.0;
            var y = 0.0;
            
            foreach (MultiScaleSubImage subImage in msi.SubImages)
            {
                subImage.ViewportWidth = 3;
                subImage.ViewportOrigin = new Point(-x, -y);
                
                x += 1.025;
                
                if (x >= 3)
                {
                    y += 0.773;
                    x = 0;
                }
            }
 
            msi.ViewportWidth = 1.85;
        }

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...