Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lendadomato

Resize de imagem carregada a partir do centro

Recommended Posts

bom pessoal, já resolvi muitas pendengas dos meus projetos neste forum

e recorro mais uma vez aqui porque é o melhor forum do mundo.

 

vamos lá, tenho um componente Slider que aumenta e diminui uma

imagem carregada dentro de um mc, o problema é que eu não consigo

definir o ponto de registro da imagem carregada para que a mesma

seja ampliada à partir do centro, no mc eu consegui alterando o ponto

de registro mas a imagem que está dentro do mc se posiciona com o canto

superior esquerdo no registro central do mc "no meio", gostaria de posicionar

o centro da imagem no centro do mc, acho que fui claro:

 


import fl.events.SliderEvent;


var myRequest:URLRequest=new URLRequest("imagem.gif");
var loader:Loader = new Loader()
loader.load(myRequest)
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadTheImage);
function loadTheImage(evt:Event):void {
mc.addChild(loader)

loader.x = -50;
loader.y = -60;
}



slider.addEventListener(SliderEvent.CHANGE, aumentarDiminuir);

function aumentarDiminuir (event:SliderEvent):void {
mc.scaleX = event.target.value /5;
mc.scaleY = event.target.value /5;

}


 

eu tentei posicionar o loader:

 

loader.x = -50;
loader.y = -60;

 

mas preciso dessa fórmula

independente do tamanho da imagem.

 

Umildemente agradeço a ajuda de todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

Cara é simples, o meio da imagem sempre será o tamanho dela dividido por 2, ou seja a metade dela.

 

function aumentarDiminuir (event:SliderEvent):void {

mc.scaleX = event.target.value /5;

mc.scaleY = event.target.value /5;

mc.x = -mc.width/2;

mc.y = -height/2;

}

 

ae é só você adapatar para o que você precisa.

 

Abcs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Pedro,

é por isso q este forum é o melhor do mundo.

cara ficou assim para quem precisar:

var myRequest:URLRequest=new URLRequest("imagem.gif");
var loader:Loader = new Loader()
loader.load(myRequest)
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadTheImage);
function loadTheImage(evt:Event):void {
mc.addChild(loader)

loader.x = -loader.width/2;
loader.y = -loader.height/2;

}

mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
mc.addEventListener(MouseEvent.MOUSE_UP, drop);

function drag(dragevent:MouseEvent):void {
   dragevent.currentTarget.startDrag();
}

function drop(dropevent:MouseEvent):void {
   dropevent.currentTarget.stopDrag();
}

import fl.events.SliderEvent;
slider.addEventListener(SliderEvent.CHANGE, aumentarDiminuir);

function aumentarDiminuir (event:SliderEvent):void {
mc.scaleX = event.target.value /5;
mc.scaleY = event.target.value /5;


}


 

eu coloquei a fórmula no loader da imagem e ficou resolvido.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.