Flash галлерея во всю ширину браузера. @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 28 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Заголовок сообщения: Flash галлерея во всю ширину браузера.
Сообщение Добавлено: 7 Сентябрь 2008, 21:40:43 
Какой параметр устанавливается для изображения чтобы его ширина и высота автоматически натягивались на всю ширину браузера (как в примере ниже) и при этом при изменении размера окна браузера чтобы изображение меняло размер и не портилось в качестве.

http://www.paulvanroekel.nl/picasa/Cool … index.html

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 7 Сентябрь 2008, 22:31:13 
берем параметры
stagewight
stageheight
по событию onresize
и в зависимости от них назначаем масштабирование картинки.
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 8 Сентябрь 2008, 00:29:21 
а надо ли какой-то параметр особенный, чтобы у фото было нормальное качество? просто помню раньше во флеше при уменьшении получались зубцы

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 8 Сентябрь 2008, 00:40:08 

Born2be писал(а):
а надо ли какой-то параметр особенный, чтобы у фото было нормальное качество? просто помню раньше во флеше при уменьшении получались зубцы

хороший вопрос. Потому что когда я тоже просто ресайзю фото во Flash — именно они (зубцы) и появляются.
Недавно думал над тем, что можно определять разрешение экрана пользователя и подгружать картинку под его разрешение, скажем, выбирая из трёх-четырёх вариантов размеров.
Но судя по тому, что я увидел в примере выше — это совсем не так.
Тут я ресайзил фото на лету (в Фаерфоксе можно тягать за уголок окна и размер будет изменяться динамически, тоесть картинка плеера будет продолжать обновлять изображение каждую секунду). И тут оно при любом размере выглядело так как не-ресайзнутый оригинал.

_________________
• NORDSKILL •
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 8 Сентябрь 2008, 00:56:53 
вот-вот. Скачать галлерею в примере выше можно, но без исходника, увы. Может это новый флеш уже умеет так справляться с картинками, я не знаю, завтра на работе попробую ибо сам флеш я давно уже не открывал.

eddy444, спасибо за подсказки с размерами.

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 8 Сентябрь 2008, 07:44:55 
зубцы появлялись в старых плеерах, для сглаживания нужно было включать quality="hight" принудительно а в библиотеке включать галочку allow smooth для картинки. в плеерах выше 7 ки для подгружаемых картинок помоему это не требуется но могу ошибатся.
ulitin kirill
постоянный участник
92
Сообщения: 2844
Зарегистрирован: 17.07.05
Откуда: Санкт-Петербург
Сообщение Добавлено: 8 Сентябрь 2008, 10:55:03 
eddy444, качество hight автоматом стоит! надо выставлять BEST.
allowsmothing также надо выставлять руками.
Еще можно посмотреть свойство forceSmoothing

Код:
 

forceSmoothing (MovieClip.forceSmoothing property)
public forceSmoothing : Boolean

A Boolean value that determines whether images that are added through the loadMovie() method and are in the same hierarchy level as the movie clip are smoothed when scaled. Setting forceSmoothing to true decreases rendering performance. The default value is false.

_________________
хочу лето, очень.
eddy444 Муж.
Модератор
315
Сообщения: 14467
Зарегистрирован: 05.05.03
Откуда: NSK
Сообщение Добавлено: 8 Сентябрь 2008, 11:01:12 
да, точно - BEST.
allowsmothing непонятно куда выставлять в случае подгружаемых картинок.
ulitin kirill
постоянный участник
92
Сообщения: 2844
Зарегистрирован: 17.07.05
Откуда: Санкт-Петербург
Сообщение Добавлено: 8 Сентябрь 2008, 11:43:49 
eddy444, на мувик в который грузится картинка

_________________
хочу лето, очень.
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 8 Сентябрь 2008, 11:54:04 
из всего сказанного выше я правильный вывод делаю, что создать такую галлерею не очень сложно?! )

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
ulitin kirill
постоянный участник
92
Сообщения: 2844
Зарегистрирован: 17.07.05
Откуда: Санкт-Петербург
Сообщение Добавлено: 8 Сентябрь 2008, 13:20:35 
Born2be, ну несколько дней попаришься и будет галерейка

_________________
хочу лето, очень.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 8 Сентябрь 2008, 14:02:18 
Просто используются изображения большого размера: http://www.paulvanroekel.nl/picasa/Cool … g_8960.jpg
После загрузки фотографии, преобразуем её в BitmapData и включаем сглаживание с помощью attachBitmap.
Код:
attachBitmap(bmp:BitmapData, depth:Number, [pixelSnapping:String], [smoothing:Boolean]) : Void

Последний аргумент smoothing отвечает за сглаживание.
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 23 Сентябрь 2008, 20:47:53 
@st@l@vist@, в Actionscript 2 можно ли преобразовать картинку в BitmapData?

_________________
• NORDSKILL •
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 23 Сентябрь 2008, 22:27:49 
Punk T-34, можно даже в Actionscript 1 ;)
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 24 Сентябрь 2008, 10:44:41 
@st@l@vist@, :beer: уже нашёл

_________________
• NORDSKILL •
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 2 Октябрь 2008, 02:17:37 
Я нашёл решение этой проблемы. Вот оно (весь код в одном кадре):
Код:
bg_con.setMask(bg_mask);

import flash.display.*;

function loadBitmapSmoothed(url:String, target:MovieClip) {

   var bmc:MovieClip = target.createEmptyMovieClip("bmc", target.getNextHighestDepth());

   var listener:Object = new Object();
   listener.tmc = target;

   listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void  {
      percent = Math.round((bytesLoaded/bytesTotal)*100);
      pText.text = percent+"%";
   };

   listener.onLoadInit = function(mc:MovieClip) {
      mc._visible = false;

      var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true);

      this.tmc.attachBitmap(bitmap,this.tmc.getNextHighestDepth(),"auto",true);
      bitmap.draw(mc);

      //устанавливается размер и положение при загрузке картинки
      if (bg_mask._height/bg_mask._width>target._height/target._width) {
         img_prop = target._width/target._height;
         target._height = bg_mask._height;
         target._width = bg_mask._height*img_prop;
         target._y = (bg_mask._height/2)-(target._height/2)+115;
         target._x = (bg_mask._width/2)-(target._width/2);
      } else {
         img_prop = target._height/target._width;
         target._width = bg_mask._width;
         target._height = bg_mask._width*img_prop;
         target._y = (bg_mask._height/2)-(target._height/2)+115;
         target._x = (bg_mask._width/2)-(target._width/2);
      }
   };

   var loader:MovieClipLoader = new MovieClipLoader();
   loader.addListener(listener);
   loader.loadClip(url,bmc);
}


loadBitmapSmoothed("photo.jpg", bg_con);


//а здесь устанавливается размер и положение при ресайзе.

var stage_listener:Object = new Object();

stage_listener.onResize = function():Void  {
   if (bg_mask._height/bg_mask._width>bg_con._height/bg_con._width) {
      img_prop = bg_con._width/bg_con._height;
      bg_con._height = bg_mask._height;
      bg_con._width = bg_mask._height*img_prop;
      bg_con._y = (bg_mask._height/2)-(bg_con._height/2)+115;
      bg_con._x = (bg_mask._width/2)-(bg_con._width/2);
   } else {
      img_prop = bg_con._height/bg_con._width;
      bg_con._width = bg_mask._width;
      bg_con._height = bg_mask._width*img_prop;
      bg_con._y = (bg_mask._height/2)-(bg_con._height/2)+115;
      bg_con._x = (bg_mask._width/2)-(bg_con._width/2);
   }
};

Stage.addListener(stage_listener);
stop();

Только для того, чтобы картинка была на всю величину сцены, вместо bg_mask нужно указать Stage и при этом стереть самую первую строчку в коде.

_________________
• NORDSKILL •
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 2 Октябрь 2008, 20:06:52 
Вообще MovieClip.forceSmoothing мне нравится больше - никакой лишней возни :) Да, FP8 это не поймет, но почти у всех стоят 9-ки …
AgA-1 Муж.
участник
26
Сообщения: 1526
Зарегистрирован: 04.10.02
Откуда: TGN
Сообщение Добавлено: 9 Октябрь 2008, 01:38:27 
Ресайзить картинку средствами флеша необходимо в редких случаях. (Как правило это обусловлено либо малым бюджетом проекта, либо задумкой анимации во флеш. т.е. например когда thumbnail по нажатию растягивается в большую картинку) во всех остальных случаях рекомендую вам ресайзить картинки заранее. Они будут в превьюхах меньше весить и выглядеть будут лучше.
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 9 Октябрь 2008, 04:34:24 
AgA-1, а если концепция предполагает?.. :cry:

_________________
• NORDSKILL •
AgA-1 Муж.
участник
26
Сообщения: 1526
Зарегистрирован: 04.10.02
Откуда: TGN
Сообщение Добавлено: 9 Октябрь 2008, 13:39:40 
Punk T-34,
AgA-1 писал(а):
...либо задумкой анимации во флеш...


опять же это относительно редкий случай, я вас уверяю. Если концепция предполагает, уже написано решение выше. Я просто предостерёг вас от случая избыточности нагрузки на CPU и объема загружаемых данных :)
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 9 Октябрь 2008, 15:31:06 
AgA-1, ваше утверждение даже не спорное, а просто потерявшееся в начале десятилетия …

Разве загрузка большого объёма данных или хороший процессор сейчас проблема? И лишь счастливчики сидят на 17' - ах?

Как минимум фон, для резинового флеш-сайта, а вообще и его фото-контент нынче ресайзятся.
Смотреть с лупой на унылые флеш-сайты занимающие не более восьмой части экрана, но при этом с 100% масштабом картинок, как то грустно …
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 9 Октябрь 2008, 23:39:19 
Дополню @st@l@vist@: я сейчас думаю не о том какой размер макета выбрать для того, чтоб хорошо смотрелось на 1024*768, а о том, как компоновать элементы так, чтобы при 1024*768 блоки сайта не перекрывали друг друга при ресайзе.

_________________
• NORDSKILL •
AgA-1 Муж.
участник
26
Сообщения: 1526
Зарегистрирован: 04.10.02
Откуда: TGN
Сообщение Добавлено: 10 Октябрь 2008, 00:53:30 
@st@l@vist@, имелся в виду случай с галлереей исключительно.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 10 Октябрь 2008, 01:58:04 
AgA-1, с одной стороны я конечно понимаю о чем вы пишите, но не очень, почему в данной теме. Ведь с подготовкой статичных изображений для флеш, помоему тут ни у кого проблем не возникает.

Проблема же в том, что флеш галери давным давно перестали быть статичными. В противном случае - это нонсенс.

Уже не первый год JavaScript галереи охотно используют всевозможные эффекты …

Ну а если мы используем флеш, то стоит делать что-то стоящее того, и тут в ход пойдут и масштабирование, и вращение, и перспективные искажения.
Так же можно вспомнить два таких "совершенно не распространённых" приложения, как CoverFlow и FlipBook. Это тоже галереи :)
С появлением на свет Flash Player 9, стало модно предлагать пользователю использовать fullscreen режим просмотра …

Я думаю тему необходимости ресайза и сглаживания изображений в таких галереях мы опустим. О малобюджетности так же не будем. А упомянутая вами "редкость таких случаев" заставила меня предаться воспоминаниям и позволила мне сделать соответствующий вывод ;)
Punk T-34 Муж.
участник
1
Сообщения: 1265
Зарегистрирован: 17.02.06
Откуда: Бахрейн
Сообщение Добавлено: 11 Октябрь 2008, 13:56:33 
оффтопик:
а что Page-flip теперь платный??

_________________
• NORDSKILL •
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 11 Октябрь 2008, 15:15:27 
оффтопик:
Выбор есть :)
Если речь идет о PageFlip, то существует платная и бесплатная версии этой книги
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Заголовок сообщения: Re: Flash галлерея во всю ширину браузера.
Сообщение Добавлено: 7 Ноябрь 2008, 22:41:40 
Короче у меня так нифига и не заработало ни с одним из приведённых примеров. Дело в том, что изображения подгружаются извне через xml. далее делаю вот это:

Код:
var bmp:Bitmap = new Bitmap(null,PixelSnapping.AUTO,true);
if(bmp != null);
bmp.smoothing = true;
addChild(bmp);


и нихрена никакого сглаживания не происходит, фотки шарпеные как sh*t.

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 7 Ноябрь 2008, 23:53:33 
проблема решена. оказывается каждый раз как делается ресайз, надо заново делать smooth, так что в конце resize listener'а надо добавить bmp.smoothing = true;

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 28 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100