Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.11.2009, 10:40
Artic вне форума Посмотреть профиль Найти все сообщения от Artic
  № 1  
Ответить с цитированием
Artic
Banned

Регистрация: Jun 2009
Сообщений: 298
По умолчанию cкроллер для ресайза фотки ?

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


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

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

Старый 10.11.2009, 10:56
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 2  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
у вас несколько версий фотографии разного качества и нужно подгружать нужную по необходимости?

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

Код 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;

Старый 10.11.2009, 10:56
Artic вне форума Посмотреть профиль Найти все сообщения от Artic
  № 3  
Ответить с цитированием
Artic
Banned

Регистрация: Jun 2009
Сообщений: 298
Код 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, время: 14:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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