[ΑS2] BitmapExporter

ActionScript και Flex Προγραμματισμός

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Garakatsamol
Honorary Member
Δημοσιεύσεις: 919
Εγγραφή: 08 Μάιος 2007 00:27

[ΑS2] BitmapExporter

Δημοσίευση από Garakatsamol » 27 Νοέμ 2009 11:46

Χαιρετε, χρησιμοποιώ την BitmapExporter class του Quasimondo και προσπαθώ να κένω export κάποιο jpg.

Tο mc που θέλω να κάνω export έχει μέσα:
-ένα background iimage (masked)
-ένα mc που περιέχει ένα video (camera.get) το οποίο όμως είναι και αυτό masked, έτσι ώστε να φαίνεται μέρος του video

Οποιοδήποτε άλλο mc και αν προσπαθήσω να κάνω export, το κάνει επιτυχημένα

Κώδικας: Επιλογή όλων

var snapshot:BitmapData = new BitmapData(210, 190, false);
snapshot.draw(some_mc);
εκτός από το mc που περιέγραψα προηγουμενως.

Έχουμε καμια ιδέα για το τι μπορεί να συμβαίνει?

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

[ΑS2] BitmapExporter

Δημοσίευση από HeRu » 27 Νοέμ 2009 14:22

Μήπως επειδή είναι masked, να κάνεις το transparency = true ?

Κώδικας: Επιλογή όλων

var snapshot:BitmapData = new BitmapData(210, 190, true);
snapshot.draw(some_mc);
Αλλιώς θα πρέπει να κάνεις capture to parent του mc και να χρησιμοποιήσεις ένα matrix transform, για να πιάσεις μόνο το area του mc.

Άβαταρ μέλους
Garakatsamol
Honorary Member
Δημοσιεύσεις: 919
Εγγραφή: 08 Μάιος 2007 00:27

[ΑS2] BitmapExporter

Δημοσίευση από Garakatsamol » 27 Νοέμ 2009 16:13

Δε δουλεύει ούτε με transparency...
Στο forum του quasimondo αναφέρεται το εξής για κάποιον που έχει παραπλήσιο πρόβλημα:
quasimondo έγραψε:Sounds to me like you draw the wrong clip to the bitmapdata. This is wrong:

var myClip.mask = maskClip;
bitmap.draw(myClip);

You have to draw the clip which holds both the clip and the mask - something like this:

var holder.myClip.mask = holder.maskClip;
bitmap.draw( holder )
Αλλά δεν το πιάνω καθόλου, άσε που αυτό δεν παίζει:

Κώδικας: Επιλογή όλων

var holder.myClip.mask = holder.maskClip;
τι var είναι αυτό???



Μήπως το πιάνεις εσύ?

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

[ΑS2] BitmapExporter

Δημοσίευση από HeRu » 27 Νοέμ 2009 16:45

Ναι αυτό εννοώ πιο πάνω. Πρέπει να κάνεις draw το mc(το parent/root) μέσα στο οποίο είναι το mc και η μάσκα.

Κώδικας: Επιλογή όλων

draw( parentMc, new Matrix( 1, 0, 0, 1, -some_mc._x, -some_mc._y ) );
Αν ο κώδικας βρίσκεται στο mc που περιέχει την μάσκα και το mc που θέλεις να κάνεις capture, μου φαίνεται μπορείς να βάλεις και this.

Κώδικας: Επιλογή όλων

draw( this, new Matrix( 1, 0, 0, 1, -some_mc._x, -some_mc._y ) );

Άβαταρ μέλους
Garakatsamol
Honorary Member
Δημοσιεύσεις: 919
Εγγραφή: 08 Μάιος 2007 00:27

[ΑS2] BitmapExporter

Δημοσίευση από Garakatsamol » 27 Νοέμ 2009 16:58

Θα σου πω ποιά είναι η δομή

όλα είναι μέσα σε ένα mc ας το πούμε container_mc
Μέσα στον container_mc υπάρχουν:
Τα actions και ένα άλλο mc ας το πούμε cameraMasked_mc
Μέσα στο cameraMasked_mc υπάρχει η μάσκα και το video_mc που είαι η κάμερά μου

έγώ στα actions κάνω draw το cameraMasked_mc. Επομένως αυτό που μου λες να κάνω, δηλ. draw το parent και μετά να επιλέξω το κομμάτι που θέλω είναι σα να το κάνω ήδη, αφού στο mc που κάνω draw περιέχονται μέσα και η μάσκα αλλά και το masked mc

Ελπίζω να γίνομαι κατανοητός...

Άβαταρ μέλους
HeRu
Flash Moderator
Δημοσιεύσεις: 800
Εγγραφή: 16 Αύγ 2004 10:49
Επικοινωνία:

[ΑS2] BitmapExporter

Δημοσίευση από HeRu » 27 Νοέμ 2009 18:18

Μήπως το video_mc εχει loaded content από άλλο domain ?

Αν ναι, μπορεί να έχει πρόβλημα με cross domain security.

Άβαταρ μέλους
Garakatsamol
Honorary Member
Δημοσιεύσεις: 919
Εγγραφή: 08 Μάιος 2007 00:27

[ΑS2] BitmapExporter

Δημοσίευση από Garakatsamol » 30 Νοέμ 2009 10:49

Όχι, δεν παίζει κάτι τέτοιο.
Διαπίστωσα ότι το πρόβλημα πιθανότατα δεν είναι οι μάσκες, αφού έβγαλα όλες τις μάσκες και το συγκεκριμένο mc δε λέει να το κάνει export. Κάτι άλλο συμβαίνει που δε μπορώ να καταλάβω...

Anyway ευχαριστώ πολύ για το χρόνο σου :wink:

Άβαταρ μέλους
Garakatsamol
Honorary Member
Δημοσιεύσεις: 919
Εγγραφή: 08 Μάιος 2007 00:27

[ΑS2] BitmapExporter

Δημοσίευση από Garakatsamol » 30 Νοέμ 2009 15:25

Τελικά το πρόβλημα ήταν κάτι χαζό όπως το περίμενα.

Φαίνεται πως τα περιεχόμενα του mc πρέπει να είναι στοιχισμένα πάνω αριστερά (0,0) διότι από εκεί ξεκινάει να αναπαράγει τα Pixels.
Εγώ δυστυχώς τα είχα κάπου αλλού με αποτέλεσμα να μου βγάζει το λευκό background.

Ευχαριστώ πολύ!

Απάντηση

Επιστροφή στο “ActionScript και Flex Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες