Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-04-2009, 11:05   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: frankfurt
Beiträge: 13
Bildzoom mit Bildausschnittmarkierung

Hallo miteinander,

Ich habe einen Pictureviewer zu machen und hoffe, es kann jemand helfen.
Meine Mathefähigkeiten stoßen hier leider total an ihre grenzen.

Grundgerüst ist folgendes:

Es gibt ein großes Bild, das per Schieberegler hochskaliert werden kann
und einen Locator - der das gleiche Bild in klein zeigt und den gerade sichtbare Bildausschnitt markiert.

per Schieberegler wird also das große Bild hochskaliert
und der Markierer kleinskaliert.
Hier komme ich einfach nicht auf eine Formel, die die Verhältnismäßigkeiten regelt und irgendwie haut nun gar nichts mehr richtig hin.

Kann jemand helfen?
fla und Bilder als zip liegt hier:

www.ragna-pidun.com/viewer.zip

und hier das Script für den Dragger:

stop();

dragger.onPress = function(){
//vars
TurX = MCRechteck._x
TurY = MCRechteck._y
TurWidth = MCRechteck._width
TurHeight = MCRechteck._height
// Dragging
var left:Number = bar._x
var top:Number = bar._y+1
var right:Number = bar._x+ bar._width - dragger._width
var bottom:Number = bar._y+1
dragger.startDrag(false, left, top, right, bottom)
// End Dragging

// Hier wird skaliert:
onEnterFrame = function(){

oldScale = container._xscale
oldWidth = container._width
oldHeight = container._height

distance = Math.floor(bar._x - dragger._x)
prozent = 100 - (distance*100/dragger._width)
factor = prozent * (100 - scale) / 100
newScale = scale + factor


container._xscale = newScale
container._yscale = newScale
trace("container._xscale = "+container._xscale)

trace("newScale = "+newScale)
newWidth = container._width
newHeight = container._height

if (newWidth > oldWidth){
xDiffer = newWidth - oldWidth
yDiffer = newHeight - oldHeight
newX = container._x - xDiffer/2
newY = container._y - yDiffer/2
}else{
xDiffer = oldWidth - newWidth
yDiffer = oldHeight - newHeight
newX = container._x + xDiffer/2
newY = container._y + yDiffer/2
}
container._x = newX
container._y = newY

// Thumb

MCRechteck._xscale = newScale
MCRechteck._yscale = newScale

MCRechteck._x = TurX - ( (MCRechteck._width-TurWidth) /2 )
MCRechteck._y = TurY - ( (MCRechteck._height-TurHeight) /2 )
}
}
dragger.onRelease = function(){
bar.stopDrag()
}
dragger.onReleaseOutside = function(){
dragger.stopDrag()
}



tausend Dank im Voraus !
ragna ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bildergalerie

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele