PDA

Просмотр полной версии : Smooth Picture Loading


xinger
16.02.2009, 02:07
Я загружаю картинки с сглаживание ниже приведенным кодом..все работало отлично, пока я не попробовал загрузить картинку из инета!
Объясняю:
если тестировать флешку в плеере, то картинки из инета грузятся прекрасно!
если тестировать хтмлку с флешкой, то тоже все идеально работает.
НО, если сунуть эту же хтмлку с флешкой в локальные вебсервер, то перестают грузится картинки из инета...грузятся только локальные.
если загрузить эту хтмлку с флешкой на хостинг, тоже грузятся только локальные картинки..из интернета ничего не грузится...

import flash.display.BitmapData;

var imgHolder:MovieClip = createEmptyMovieClip("imgHolder", 1);
var mcl:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
mclListener.onLoadInit = applySmoothing;
mcl.addListener(mclListener);
mcl.loadClip("my_image.jpg", imgHolder);

function applySmoothing(target:MovieClip) {
var mcParent:MovieClip = target._parent;
var mcName:String = target._name;
var myBitmap:BitmapData = new BitmapData(target._width, target._height);
myBitmap.draw(target);

target.removeMovieClip();
target = mcParent.createEmptyMovieClip(mcName, mcParent.getNextHighestDepth());
target.attachBitmap(myBitmap, 1, "auto", true);
}

но я заметил одну штуку.. в принципе, на этом mcl.loadClip("my_image.jpg", imgHolder); этапе картинка грузится в мувиклип, но когда дело доходит до отрисовки в другой - все глохнет..ошибок не выдает..тупо ничего не отрисовывает!
В чем может быть проблема? может в ХТМЛке чет надо в параметрах дописать?...

chingachgoog
16.02.2009, 12:13
Откуда люди такие названия тем берут? При чем тут smooth вообще?
Это известные проблемы с безопасностью кроссдоменной политики.

xinger
16.02.2009, 12:33
окей, а как с этим бороться?

dimarik
16.02.2009, 12:38
Создать на сервере файл crossdomain.xml. Подробности поиском.

xinger
16.02.2009, 14:47
кое что нашел...
[xml]
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

нормальный файл? а дальше я не очень понял, везде по разному написано..
мне надо кинуть этот файл в корень, так? а дальше в флеше его подгружать как то надо?

qazwsx
16.02.2009, 16:29
Если файл лежит на в корневой папки хоста тогда нужно подгружать его с помощью Systems.security.loadPolicyFile();
Если же он лежит в корне при запросе какой либо информации требуюших файл он он будет получатся автаматически.

xinger
16.02.2009, 20:12
ага..понял
еще вопрос..если я засуну в корень этот файл, то у меня с любых серверов будут грузится картинки? мне в основном нужны сервера типа айпикчр или фликр, куда пользователи заливают картинку и потом в мою флешку кидают ссылки на эти картинки..

Добавлено через 42 часа 38 минут
не получается с crossdomain'ом ничего (
я просто не понял одной вещи! Если проблема в кроссдоменной политике, то почему loadClip() загружает картинку? но потом почему то myBitmap.draw() не отрисовывает ее..