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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.08.2009, 17:44
getelse вне форума Посмотреть профиль Отправить личное сообщение для getelse Найти все сообщения от getelse
  № 1  
Ответить с цитированием
getelse
 
Аватар для getelse

Регистрация: Aug 2009
Сообщений: 56
По умолчанию Загрузка img, в тексте.

В 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.
Старый 31.08.2009, 17:58
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Пересчситывайте пропорционально width и height..

Старый 31.08.2009, 18:20
getelse вне форума Посмотреть профиль Отправить личное сообщение для getelse Найти все сообщения от getelse
  № 3  
Ответить с цитированием
getelse
 
Аватар для getelse

Регистрация: Aug 2009
Сообщений: 56
А как сделать так, чтобы размеры картинки задавались автоматически?

всегда, скажем:
(width="60px" размер фиксирован.);
(height="размер не фиксирован; относительно размера width")

Если в блокноте набрать эту строчку

Код:
<img src="http://www.google.ru/intl/en_com/images/logo_plain.png" width="216"/>
или

Код:
<img src="http://www.google.ru/intl/en_com/images/logo_plain.png" width="116"/>
сохранить и открыть через браузер,
то картинка уменьшается пропорционально (фик.) уменьшению ширины. т. е. все как надо.

А во флеш, если задать только (width, без height) картинка, вообще, не отображается?

Старый 31.08.2009, 18:52
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Почему не тображается? Отображается. Вы попробуйте и увидите. Только размер будет исходный, взятый от картинки.

Добавлено через 5 минут
Цитата:
Сообщение от getelse Посмотреть сообщение
сохранить и открыть через браузер,
то картинка уменьшается пропорционально (фик.) уменьшению ширины. т. е. все как надо.
Ширины чего?
Это с чего бы картинка, заданная в пикселях, будет изменять свой размер в браузере, если мы изменяем размер окна?


Последний раз редактировалось mooncar; 31.08.2009 в 19:02.
Старый 31.08.2009, 19:19
getelse вне форума Посмотреть профиль Отправить личное сообщение для getelse Найти все сообщения от getelse
  № 5  
Ответить с цитированием
getelse
 
Аватар для getelse

Регистрация: Aug 2009
Сообщений: 56
В чисто (h)tml варианте все отображается как надо
Отображается она только в (скажем txt - html) т. е. чисто html варианте.
Код:
<img src="http://www.google.ru/intl/en_com/images/logo_plain.png" width="216"/>


Код:
<img src="http://www.google.ru/intl/en_com/images/logo_plain.png" width="116"/>


Если картинка имеет реальный размер 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.
Старый 31.08.2009, 19:31
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от getelse Посмотреть сообщение
Вопрос в другом
А во флеш, если задать только (width, без height) картинка, вообще, не отображается?
Этот вопрос - вопрос пяти минут проверки.
И кстати, я вам на него уже ответил.

Добавлено через 6 минут
Если у вас ситуация, что вам можно использовать только width, то перед формированием html-строки можно попробовать использовать предварительную загрузку картинки в пустой мувик, узнать её размеры, и пересчитать высоту.
Увы, флеш - это не браузер.


Последний раз редактировалось mooncar; 31.08.2009 в 19:38.
Старый 31.08.2009, 19:39
getelse вне форума Посмотреть профиль Отправить личное сообщение для getelse Найти все сообщения от getelse
  № 7  
Ответить с цитированием
getelse
 
Аватар для getelse

Регистрация: Aug 2009
Сообщений: 56
mooncar
Цитата:
Почему не тображается? Отображается. Вы попробуйте и увидите. Только размер будет исходный, взятый от картинки.
Как можно изменить этот размер? (дай направление)

Старый 31.08.2009, 19:43
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Нет, не изменить сам размер, а изменить width и height в строке. Если я правильно понял, у вас есть фиксированные ширины (равные какой-то одной величине) картинок в тексте, и вам нужно пропорционально подогнать их высоты, так?....
Если да, то могу подсказать.

Старый 31.08.2009, 19:46
getelse вне форума Посмотреть профиль Отправить личное сообщение для getelse Найти все сообщения от getelse
  № 9  
Ответить с цитированием
getelse
 
Аватар для getelse

Регистрация: Aug 2009
Сообщений: 56
точно!..?

Старый 31.08.2009, 19:53
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код AS1/AS2:
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] + '"/>';
}
Дополнительный вложенный контейнер image внутри container пришлось сделать, чтобы можно было запомнить номер картинки для использования в onLoadInit, так как из мувика стирается вся информация после загрузки туда нового контента (картинки).
В силу того, что AS выполняется асинхронно, либо используйте функцию, приведенную в конце кода, либо формируйте строку по своим собственным событиям, с учетом того, то полностью новые высоты будут известны только после отработки onLoadInit для всех картинок. Можете прямо в теле onLoadInit формировать html-строку... тогда массивы ширины, высоты и новой высоты вообще не нужны будут.


Добавлено через 1 час 53 минуты
Наверное, лучше это перенести в ветку AS2.0...


Последний раз редактировалось mooncar; 31.08.2009 в 22:20.
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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