PDA

Просмотр полной версии : Использование bitmap'а загруженной с другого домен картинки


peanch
06.08.2009, 14:09
Добрый день,

Проблема такая: гружу картинку с другого домена. сама картинка загружается нормально, но вот использовать ее bitmap для заливки уже не получается:


var pattern = new flash.display.BitmapData(loaded_mc._width, loaded_mc._height,true,0);
pattern.draw(loaded_mc);
....
beginBitmapFill(pattern);


в самом ролике стоит:

System.security.allowDomain("*");


crossdomain.xml на сервере, с которого загружается картинка

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>


Access network only у проекта стоит. AS2/9 плеер.

Очень важный и непонятный мне ньюанс: если я перед загрузкой картинки гружу и обрабатываю XML с этого сервера.. все работает отлично. Как это объяснить я не знаю, но грузить каждый раз XML чтобы нормально грузилась картинка возможности нет..

Благодарю за помощь в решении проблемы.

storm_
07.08.2009, 00:10
Покажите весь код, как грузите, к примеру.

etc
07.08.2009, 07:42
peanch, allowDomain-то зачем вы написали?

peanch
07.08.2009, 10:11
Покажите весь код, как грузите, к примеру.


MovieClip.prototype.preloadjpg = function(movietobeLoaded,holder,....) {
var listener:Object = new Object();
...
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(listener);
image_mcl.loadClip(movietobeLoaded, holder);
}

...
_root.createEmptyMovieClip("watermark",_root.getNextHighestDepth());
preloadjpg(watermark_url,_root.watermark,...);


pattern создается только после того как картинка загружена.. локально (при компиляции непосредственно в CS4), как вы понимаете, все работает..

peanch, allowDomain-то зачем вы написали?

от безнадеги :)

Добавлено через 12 минут
похоже, только что решил проблему..

помогает принудительная загрузка crossdomain.xml с домена, на котором картинка:
System.security.loadPolicyFile("http://..../crossdomain.xml");

или же просто


image_mcl.checkPolicyFile = true;

спасибо всем ответившим.

отдельное спасибо storm_, посмотрел на свой код загрузки и понял.. :)