Comunidad de diseño web y desarrollo en internet online

Problemas con centrar snapshot

Citar            
MensajeEscrito el 29 Nov 2010 06:17 am
Hola amigos estoy liado con el flash intentando hacer una captura de pantalla con new Bitmapdata que la hago asi:

Código ActionScript :

snapshot = new BitmapData(414, 414);
snapshot.draw(_root ,new Matrix());


es decir hago una captura de pantalla de escenario principal de 414 x 414 px pero esta captura se hace desde el punto 0,0 y yo necesito que se haga desde x=68 y =0 ¿como pordria hacelo? je probado algo asi pero nada:

Código ActionScript :

snapshot = new BitmapData(414, 414);
    snapshot._root._x = 68;
    snapshot._root._y = 0;
    snapshot.draw(_root ,new Matrix()); 


alguna sugerencia?¿? muchas gracias por vuestra colaboracion.

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Nov 2010 12:37 pm
ninguna idea_?¿_?

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Nov 2010 07:49 pm
Si lo que quieres es copiar una zona del source, mira el método draw en la ayuda, el quinto parámetro es un Rectangle que te permite seleccionar una zona

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Nov 2010 07:53 pm
ok Jorge gracias por tu respuesta una preguntita ¿hay algun manual como php.net pero de as2? gracias

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Nov 2010 07:57 pm
Sip, abres Flash, oprimes F1 y buscas Diccionario de ActionScript 2

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Nov 2010 07:59 pm
buah!! muchas gracias

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Nov 2010 07:04 am
Mira Jorge hago esto pero nada

snapshot = new BitmapData(414,414);
var myRectangle:Rectangle = new Rectangle(68, 0, 414, 414);
snapshot.draw(_root ,new Matrix(),0,0,myRectangle);

antes importo la cale asi
import flash.geom.Rectangle;

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Nov 2010 08:59 am
he seguido el ejemplo del tutorial y nada

Código ActionScript :

    var snapshot:BitmapData = new BitmapData (408,408, false);
   var color:ColorTransform = new ColorTransform();
   var blendMode:String = "normal";
   var myMatrix:Matrix = new Matrix();
   var zona:Rectangle = new Rectangle (73, 4, 408, 408);
   var smooth:Boolean = false;
function capture(nr)
{
   
   snapshot.draw(_root, myMatrix, color, blenMode, zona, smooth);
   

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Nov 2010 09:56 am
ok ya lo consegui pero no es lo que busco, digamos que lo que hace es seleccionar el rectangulo que le indico, pero no hace una imagen cuadrada si no que tapa lo que no kieres, pero la img sigue siendo rectangular. mira para seleccionar el trozo del root que deseo e hecho esto

snapshot = new BitmapData(481,408);
snapshot.draw(_root, new Matrix(), new ColorTransform(), normal, new Rectangle(73,4,408,408), false);


y lo que me envia al php es una imagen de 481x408px pero solo muestra la imagen a partir del punto 73,4 un cuadrado de 408x408px
diagmos que que con la propiedad rectangle seleccionas un trozo de la imgen pero la imagen sigue teniendo el mismo tamaño solo que lo tapa y yo necesito que solo haga la captura de esas cordenadas, no que la hagas desde el punto 0,0 pero solo muestre a partir 73,4 no se si me explico...¿? :?

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Nov 2010 01:58 pm
¿Como sabes que PHP recibe 481 de alto?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Nov 2010 04:37 pm
Pues cuando acaba el proceso y miro la imagen ese es su tamaño lo que pasa es que tiene zonas blancas, es decir, la imagen mide 481 ( he tenido que modificar el tamaño de new bitmapdata sumandole el eje x porxque new rectangle cuenta desde el 0,0 pa que me entiendas la imagen la hacia de414 px pero de esos 414 67 q marca el comienzo de x sale blanco no empieza a contar desde el eje que le indico) y de esos 481 67 salen enblanco. No se si me explico entra aki crea tu camiseta y clika en listo y cuando acabe el proceso y estés en la pantalla del producto veras el resultado pincha en la imagen con el btn drexo y veras la imagen bien. Gracias

Por hachedocho

16 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 30 Nov 2010 05:54 pm
¿Quiero decir, estas seguro que el PHP respeta el ancho que le pasan y no tiene una matriz fija de tamaño?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Nov 2010 07:07 pm
Mmmmmmm no porque los datos los manda por post, es mas dependiendo del tamaño que le ponga a snapshot=new bitmapdata(x,x) cambia

Por hachedocho

16 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 30 Nov 2010 07:16 pm
Entonces ....

snapshot = new BitmapData(408,408);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 01 Dic 2010 06:10 am
Buenos dias Jorge,

Asi es como estaba al principio de todos modos lo he modificado para probar otra vez mira este es el codigo, lo he modificado un poko

Código ActionScript :

function capture(nr)
{
   
   snapshot = new BitmapData(408,408, true, 0xfffffff);
   var blendMode:String = "normal";
   snapshot.draw(_root, new Matrix(), new ColorTransform(), blendMode, new Rectangle(73,4,408,408), false);
   
   var t:MovieClip = createEmptyMovieClip("bitmap_mc", 0);
   t._x = 10;
   t._y = 0;
   t._xscale = t._yscale = 100;
   //display the specified bitmap object inside the movie clip
   t.attachBitmap(snapshot,1,always,true);
   var filterArray = new Array(myFilters[nr]);
   t.filters = filterArray;
   attachMovie("print_but","bot",100,{_x:t._x + t._width -1, _y:t._y + t._height /1});
   
   
}


Y este es el resultado, como podras observar en el margen izquierdo tiene una zona blanca que corresponde al valor de x del rectangulo que es 73px y por arriba de 4 que es el valor de y.

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 01 Dic 2010 01:54 pm
Y eso es lo que has mandado ... un rectángulo de 408 x 408 empezando desde 73/4 ... ¿cual es el problema?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 01 Dic 2010 07:51 pm
Bajate la imagen y mirala en photoshop ¿no ves el margen que esta blanco? yo necesito que toda la imagen sea con color, por decirlo de alguna manera. Que a partir del eje x que le marque empieze el pixel 1 de mi imagen, no que te haga una captura de 408 pero empiece a contar por el 0,0 del swf y empieze a mostrase la imagen a partir de del x que le marco.

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Dic 2010 02:14 pm
Tienes que usar un Matrix trasladado, eje:

Código ActionScript :

 var snapshot:BitmapData = new BitmapData(225,175, true, 0xfffffff); 
   var rect:Rectangle = new Rectangle(75,50,225,175);
   var translateMatrix:Matrix = new Matrix();
   translateMatrix.translate(7.5, 5);
   snapshot.draw(target, translateMatrix, null, null, rect, true); 


Cada punto del Matrix.translate equivale a unos 10 px, en este caso tome desde 75,50

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Dic 2010 08:12 am
Bueno Jorge parece que entre la solucion que me has dado y un poco de ccs a quedado medio bien muchisimas gracias por tu ayuda y tu interes! :D

De todos modo sigue saliendo el marco blanco del que te hablaba pero con translate puedo hacerlo algo mas pequeño. yo creo que el fallo esta en que le indicamos mediante newBitmapData una medida y luego con rectangle otra y se queda un poko loko...yo creo que la solucion perfecta seria meterlo todo el diseño final en un mc y de ese mc hacer la captura entonces si quedaria perfecto por que al hacer la captura del target hagamos lo que hagamos la imagen empieza en el 0,0.

Bueno amigo muchas gracias otra vez la verdad que ha quedao xaxi!! bye

Pablo

Por hachedocho

16 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.