![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Есть задача: нечто вроде просмотра фотографий. Фото разных размеров, а область для них - 500х350. Как приатачить изображение к этой области без всяких скроллеров?
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 38
|
Для начала руками привести (обрезать) фото по формату 500/350 (или ему кратному) , иначе фото будут кривыми.
Последний раз редактировалось userk; 11.05.2008 в 17:29. |
|
|||||
|
в том то и дело.....хм...вот если этот проект развернуть на фулскрин, то фотки естесственно растягиваются, выглядит это плохо как минимум....
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 38
|
Ну тогда разработать что-то вроде экспертной системы , чтобы она взяла часть творческих функций художника по выделению на фотографии того , что смотрелось бы на данном формате. Или тупо в лоб программой обрезать( скрывать лишнее) маской в увеличенной по наименьшему размеру формата картинку.
|
|
|||||
|
а нет никаких возможностей массштабирования изображения?
|
|
|||||
|
есть: MovieClip._xscale ~ MovieClip._yscale - задаются в процентах. но для того чтобы ими воспользоваться надо как минимум знать хотябы width или height загруженного изображения
попробуй так ................ //загрузили картинку в img_mc width_procent = 100*(500/img_mc._width); height_procent = 100*(350/img_mc._height); img_mc._xscale = img_mc._yscale = (width_procent > height_procent)?width_procent:height_procent; ................ ![]()
__________________
знание - сила, интеллект - равнодействующая Последний раз редактировалось neven; 11.05.2008 в 20:47. |
|
|||||
|
очень хорошо, попробую, спасибо))) на первый взгляд дельно)))
Хм...если image_mc имел до этого _width и _height, то они не меняются после загрузки изображения(с помощью image_mc.loadMovie)....т.е. переменные процентов остануться = 100. А если image_mc создавать через createMovieClip то размеры равны нулю и соответственно проценты уходят в infinity. Подскажите что делаю не так...уж очень нравиться вот это решение, но не работает как описал выше и всё тут... Последний раз редактировалось etc; 11.05.2008 в 21:10. |
|
|||||
|
упс, сори.
попробуй после загрузки в img_mc использовать img_mc.getRect() или img_mc.getBounds();
__________________
знание - сила, интеллект - равнодействующая |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 38
|
Если силёнок хватит , то уже такое сделали
http://www.thegedanken.com/retarget/ http://ru.youtube.com/watch?v=vIFCV2spKtg осталось только разобраться и применить. Последний раз редактировалось userk; 11.05.2008 в 22:31. |
|
|||||
|
Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
|
Что-то типа такого
//координаты и размеры клипа для фото
var min_x:Number=5+1;
var min_y:Number=185+1;
var max_width:Number = 250-2;
var max_height:Number = 150-2;
//событие при загрузке картинки
myListener.onLoadInit = function(target_mc:MovieClip) {
//теперь необходимо поменять размеры картинки и вписать ее в окно
//сохраняем начальные размеры фото
var natural_width:Number=target_mc._width;
var natural_height:Number=target_mc._height;
//если изначальное отношение длинны к ширине МЕНЬШЕ отношения длинны к ширине поля отображения
//то необходимо изменить высоту клипа, а затем, по ней менять ширину
if(natural_width/natural_height<max_width/max_height){
target_mc._height = max_height;
target_mc._xscale=target_mc._yscale;
}
else{
target_mc._width = max_width;
target_mc._yscale=target_mc._xscale;
}
//ставим фото по центру
target_mc._x=min_x+max_width/2-target_mc._width/2;
target_mc._y=min_y+max_height/2-target_mc._height/2;
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|