Visualizzazione dei risultati da 1 a 8 su 8

Discussione: strecciare immagini

  1. #1

    strecciare immagini

    allora ho la necessità di creare qualcosa che mi simuli sostanzialmente lo strech di ingrandimento che si ha per es su Photoshop...


    io ho un cli con dentro una mia immagine andando sugli angoli
    devo poter prendere l'immagine e tirarla per ingrandira...

    qualcuno ha idea di come poter ottenere un effetto simile????
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    con Flash 8, classe BitmapData e classe Matrix direi... non ho degli esempi concreti, ma la documentazione interna dovrebbe bastarti per capire come gestire la cosa
    appena ho un po' di tempo butto giù un esempio, comunque se dovessi riuscire prima, avvisa qui sul thread

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Oppure in modo meno elegante:

    Codice PHP:
    dragMark._x=img._x+img._width;
    dragMark._y=img._y+img._height;

    dragMark.onPress=function(){
        
    dragMark.startDrag();
    }

    dragMark.onRelease=function(){
        
    stopDrag();
    }

    img.onEnterFrame=function(){
        
    this._width _root.dragMark._x-this._x;
        
    this._height _root.dragMark._y-this._y;

    img è il movieclip che contiene l'immagine.
    dragMark un movieclip che si posizione nell'angolo dell'immagine e che draggato modifica le dimensioni dell'immagine.

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Chimira
    hai assolutamente ragione... non avevo considerato il fatto che _width e _height sono svincolati tra loro... direi che la soluzione è ottima, oltre che molto più semplice di utilizzare le due classi di cui sopra, è anche portabile per le versioni precedenti di Flash Player

    mi complico troppo la vita a volte

  5. #5
    grazie ragazzi farò delle prove vediamo cosa neverrà fuori
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  6. #6
    allroa la soluzione postata da chimira mi va più che ben.. ora mi rimane da capire solo una cosa... come posso fare che al erlease il tutto torni con effetto bounce magari alle dimensioni di partenza???
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  7. #7
    io avevo pensato una cosa del genere e in parte funziona...

    codice:
    stageWidth = 550;
    stageHeight = 400;
    wmodifier = 35;
    hmodifier = 49;
    bouncefactor = 7.000000E-001;
    speedfactor = 9;
    expand = function (id)
    {
        var _loc1 = this;
        var _loc2 = id;
        _loc1.destwidth = wmodifier;
        _loc1.poswidth = _loc2._width;
        _loc1.velwidth = _loc1.velwidth * bouncefactor + (_loc1.destwidth - _loc1.poswidth) / speedfactor;
        _loc2._width = _loc2._width + Math.round(_loc1.velwidth);
        _loc1.destheight = hmodifier;
        _loc1.posheight = _loc2._height;
        _loc1.velheight = _loc1.velheight * bouncefactor + (_loc1.destheight - _loc1.posheight) / speedfactor;
        _loc2._height = _loc2._height + Math.round(_loc1.velheight);
        _loc1.destx = (stageWidth - wmodifier) / 2;
        _loc1.posx = _loc2._x;
        _loc1.velx = _loc1.velx * bouncefactor + (_loc1.destx - _loc1.posx) / speedfactor;
        _loc2._x = _loc2._x + Math.round(_loc1.velx);
        _loc1.desty = (stageHeight - hmodifier) / 2;
        _loc1.posy = _loc2._y;
        _loc1.vely = _loc1.vely * bouncefactor + (_loc1.desty - _loc1.posy) / speedfactor;
        _loc2._y = _loc2._y + Math.round(_loc1.vely);
    };
    
    dragMark._x=img._x+img._width; 
    dragMark._y=img._y+img._height; 
    dragMark.onEnterFrame = function (){
    	expand(this);
    };
    dragMark.onPress=function(){ 
        dragMark.startDrag(); 
    } 
    
    dragMark.onRelease,onReleaseOutside=function(){ 
        stopDrag();
    	_root.wmodifier =35;
        _root.hmodifier = 49;
    	delete dragMark.onEnterFrame;
    } 
    
    img.onEnterFrame=function(){ 
        this._width = _root.dragMark._x-this._x; 
        this._height = _root.dragMark._y-this._y; 
    }
    solo che nn mi effettual il delete dell'enterframe al release e l'img continua a strecciarsio come se avessi ancora il drag
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  8. #8
    mi rispondo da solo ho risolto il problema per chi potesse essere interessato...

    codice:
    //proto movimento//Gestisce spostamenti Dragger
    MovieClip.prototype._tween = function(clip, xArr, yArr, tempo, bounce) {
    clip.xArr = Math.floor(xArr);
    clip.yArr = Math.floor(yArr);
    clip.tempo = tempo;
    clip.bounce = bounce;
    clearInterval(clip.xInt);
    clip.xMove = function() {
    clip.xspost = (clip.xArr-clip._x)/clip.bounce;
    clip._x += clip.xspost;
    if (Math.round(clip._x) == Math.round(clip.xArr)) {
    clearInterval(clip.xInt);
    clip._x = Math.round(clip.xArr);
    }
    };
    clip.xInt = setInterval(clip.xMove, clip.tempo);
    clearInterval(clip.yInt);
    clip.yMove = function() {
    clip.yspost = (clip.yArr-clip._y)/clip.bounce;
    clip._y += clip.yspost;
    if (Math.round(clip._y) == Math.round(clip.yArr)) {
    clearInterval(clip.yInt);
    clip._y = Math.round(clip.yArr);
    }
    };
    clip.yInt = setInterval(clip.yMove, clip.tempo);
    };
    
    
    
    //posiziono il cursore dell strach
    
    dragMark._x=img._x+img._width; 
    dragMark._y=img._y+img._height; 
    
    //mi prendo le coordinate iniziali per il ridimensionamento 
    InitX=dragMark._x;
    EndY=dragMark._y;
    
    //pulsanti per stracchare
    dragMark.onPress=function(){ 
        dragMark.startDrag(); 
    } 
    
    dragMark.onRelease=function(){ 
        stopDrag(); 
    	dragMark._tween(_root.dragMark, InitX/*arrivoX*/, EndY/*arrivoY*/, 40/*il tempo di richiamo[gestisce la fluidità]*/, 3/*la frizione[gestisce la velocità]*/);
    	
    } 
    //img si adatta a coordinate x e y dell streccher
    img.onEnterFrame=function(){ 
        this._width = _root.dragMark._x-this._x; 
        this._height = _root.dragMark._y-this._y; 
    }
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.