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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.07.2007, 07:47
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 40  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
import flash.geom.*;
import flash.display.BitmapData;
getTextBounds = function(txt) {
	var mc = txt._parent.createEmptyMovieClip('__textBounds_mc',-3288);
	var t = mc.createTextField('txt',0,0,0,100,100);
	t.setNewTextFormat(txt.getTextFormat());
	t.embedFonts = txt.embedFonts;
	t.html = txt.html;
	t.htmlText = txt.htmlText;
	t._width = txt._width;
	t._height = txt._height;
	txt = t;
	var xs = txt._xscale;
	var ys = txt._yscale;
	var scale = 20;
	var maxXScale = 2800/txt._width;
	var maxYScale = 2800/txt._height;
	if (maxXScale < scale) {
		scale = maxXScale;
	}
	if (maxYScale < scale) {
		scale = maxYScale;
	}
	txt._xscale = xs*scale;
	txt._yscale = ys*scale;
	var bmp = new BitmapData(mc._width,mc._height,true,0);
	bmp.draw(mc);
	bmp.colorTransform(bmp.rectangle,new ColorTransform(1,1,1,1,0,0,0,255));
	var rect = bmp.getColorBoundsRect(0xFF000000,0x00000000, false);
	bmp.fillRect(rect,0x80FFFF00);
	rect.x /= scale;
	rect.y /= scale;
	rect.width /= scale;
	rect.height /= scale;
	txt._xscale = xs;
	txt._yscale = ys;
	bmp.dispose();
	mc.swapDepths(6550);
	mc.removeMovieClip();
	return rect;
}
rect = getTextBounds(txt);
beginFill(0xFF0000, 30);
moveTo(txt._x+rect.x,txt._y+rect.y);
lineTo(txt._x+rect.x+rect.width,txt._y+rect.y);
lineTo(txt._x+rect.x+rect.width,txt._y+rect.y+rect.height);
lineTo(txt._x+rect.x,txt._y+rect.y+rect.height);
endFill();

Создать новую тему   Часовой пояс GMT +4, время: 05:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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