Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   cкроллер для ресайза фотки ? (http://www.flasher.ru/forum/showthread.php?t=132339)

Artic 10.11.2009 10:40

cкроллер для ресайза фотки ?
 
привет всем
вобщем надумал написать скроллер, который будет увеличивать или уменьшать размер фотки


есть скроллер у него есть начало 0 и конец 100 ( это по Y )
есть минимальный размер 200на200 и конечный 1000на1000
при 0 на скроллере, фотграфия размером 200x200, при 100, соотвественно 1000x1000
собственно нужна формула, которая при промежуточной позиции скроллера, будет выдавать нужное разрешение

ай нид хелп )))))

bicubic_bublic 10.11.2009 10:56

у вас несколько версий фотографии разного качества и нужно подгружать нужную по необходимости?

если нет - тогда

Код AS3:

MIN_SCROLLER_POS = 0;
MAX_SCROLLER_POS = 100;
MIN_IMAGE_SIZE = 200;
MAX_IMAGE_SIZE = 1000;
 
relativeScrollerPosition = (scroller.y - MIN_SCROLLER_POS) / (MAX_SCROLLER_POS - MIN_SCROLLER_POS);
 
imgMinScale = Math.min(MIN_IMAGE_SIZE / (img.width / img.scaleX), MIN_IMAGE_SIZE / (img.height / img.scaleY) );
 
imgMaxScale = Math.min(MAX_IMAGE_SIZE / (img.width / img.scaleX), MAX_IMAGE_SIZE / (img.height / img.scaleY));
 
imgCurrentScale = imgMinScale + (imgMaxScale - imgMinScale) * relativeScrollerPosition;
 
img.scaleX = img.scaleY = imgCurrentScale;


Artic 10.11.2009 10:56

Код AS3:

var a:Number = pimpStart;
            var b:Number = pimpStop;
            var c:Number = heightOrigin;
            var d:Number = 390;
            var n:Number = pimp.y;
            var x:Number = (n-b)*(c-d)/(a-b)+d;
            var h:Number = x;
            var w:Number = 0
            var flag:Boolean = false;
            var k:Number = flag ? Math.min(w/_bitmap.width, h/_bitmap.height) : Math.max(w/_bitmap.width, h/_bitmap.height);
            _bitmap.scaleY = _bitmap.scaleX *= k;

мало-ли есть путь легче или кому то нада

тут
a = начало скроллера
b = конец
с = максимальная высота фотографии
d = минимальная
n = текущая позиция скроллера
_bitmap = сама картинка

Добавлено через 3 минуты
пока писал ответ самому себе, уже ответили ^^, бегло просмотрел предложенный вариант, вроде то же, только в профиль ))))


Часовой пояс GMT +4, время: 01:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.