![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2009
Сообщений: 56
|
В TextField загружается текст из html/css
Допустим, в тексте есть 2 картинки, размерами 50px 50px и 120px 70px Они, загружаются в текст, соответственно с такими размерами. Можно как-нибудь сделать так, задать фиксированную ширину для всех картинок? (типа, все картинки будут, пропорционально уменьшаться или увеличиваться в длину - относительно фик. размера ширины) <img src="http://www.site.com/logo.png" width="*" height="*" align="right"> Последний раз редактировалось getelse; 31.08.2009 в 17:54. |
|
|||||
|
Модрон-ветеринар
|
Пересчситывайте пропорционально width и height..
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 56
|
А как сделать так, чтобы размеры картинки задавались автоматически?
всегда, скажем: (width="60px" размер фиксирован.); (height="размер не фиксирован; относительно размера width") Если в блокноте набрать эту строчку или сохранить и открыть через браузер, то картинка уменьшается пропорционально (фик.) уменьшению ширины. т. е. все как надо. А во флеш, если задать только (width, без height) картинка, вообще, не отображается? |
|
|||||
|
Модрон-ветеринар
|
Почему не тображается? Отображается. Вы попробуйте и увидите. Только размер будет исходный, взятый от картинки.
Добавлено через 5 минут Цитата:
Это с чего бы картинка, заданная в пикселях, будет изменять свой размер в браузере, если мы изменяем размер окна? Последний раз редактировалось mooncar; 31.08.2009 в 19:02. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 56
|
В чисто (h)tml варианте все отображается как надо
Отображается она только в (скажем txt - html) т. е. чисто html варианте. ![]() ![]() Если картинка имеет реальный размер 500px 300px Чтобы пропорционально уменьшить картинку, в (h)tml мне достаточно добавить только (width, без height), вот width="116px" - и картинка с размерами (w500 h300) пропорционально уменьшилась до w116, h(пропорционально width) Ширины чего? - реального размера картинки html width 300, реал. размер pic 1024. Картинка px не должна зависеть от размера браузера. - ясное дело. Вопрос в другом А во флеш, если задать только (width, без height) картинка, вообще, не отображается? Последний раз редактировалось getelse; 31.08.2009 в 19:25. |
|
|||||
|
Модрон-ветеринар
|
Цитата:
И кстати, я вам на него уже ответил. Добавлено через 6 минут Если у вас ситуация, что вам можно использовать только width, то перед формированием html-строки можно попробовать использовать предварительную загрузку картинки в пустой мувик, узнать её размеры, и пересчитать высоту. Увы, флеш - это не браузер. Последний раз редактировалось mooncar; 31.08.2009 в 19:38. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 56
|
mooncar
Цитата:
|
|
|||||
|
Модрон-ветеринар
|
Нет, не изменить сам размер, а изменить width и height в строке. Если я правильно понял, у вас есть фиксированные ширины (равные какой-то одной величине) картинок в тексте, и вам нужно пропорционально подогнать их высоты, так?....
Если да, то могу подсказать. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 56
|
точно!..?
|
|
|||||
|
Модрон-ветеринар
|
var picBaseWidth:Number = 150; //фиксированная ширина картинки var picNames:Array = new Array(); //массив для имен файлов картинок var picWidth:Array = new Array(); //массив для ширин var picHeight:Array = new Array(); //массив для высот var picNewHeight:Array = new Array(); //массив для новых высот picNames[1] = 'pic1.jpg'; picNames[2] = 'pic2.jpg'; picNames[3] = 'pic3.jpg'; var mcLoader:MovieClipLoader = new MovieClipLoader(); var listener:Object = new Object(); mcLoader.addListener(listener); //тут мы узнаем и запоминаем размеры картинок после предвартельной загрузки listener.onLoadInit= function (target_mc:MovieClip) { var num:Number = target_mc._parent.picNumber; //извлекаем номер картинки picWidth[num] = target_mc._width ; picHeight[num] = target_mc._height ; var scale:Number = picBaseWidth / target_mc._width ; picNewHeight[num] = Math.round(target_mc._height * scale); //находим новую высоту removeMovieClip(target_mc._parent); //удаляем временный мувик со всем содержимым }; //грузим картинки for (i = 1; i < picNames.length ; i++) { var cont_mc:MovieClip = new MovieClip(); cont_mc = this.createEmptyMovieClip('container' + i, this.getNextHighestDepth()); //создаем временный мувик для каждой картинки cont_mc.createEmptyMovieClip('image', 0); //создаем временный контейнер внутри этого мувика для картинки cont_mc.picNumber = i; //запоминаем внутри временного мувика номер картинки mcLoader.loadClip(picNames[i], cont_mc.image); //грузим туда картинку } function printImage (num:Number) { //печатает картинку в текстовое поле с именем test1, test2 и т.д. this['test' + num].htmlText = '<img src="' + picNames[num] + '" width="' + picBaseWidth + '" height="'+ picNewHeight[num] + '"/>'; } В силу того, что AS выполняется асинхронно, либо используйте функцию, приведенную в конце кода, либо формируйте строку по своим собственным событиям, с учетом того, то полностью новые высоты будут известны только после отработки onLoadInit для всех картинок. Можете прямо в теле onLoadInit формировать html-строку... тогда массивы ширины, высоты и новой высоты вообще не нужны будут. Добавлено через 1 час 53 минуты Наверное, лучше это перенести в ветку AS2.0... Последний раз редактировалось mooncar; 31.08.2009 в 22:20. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|