Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: krpano.com Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Samstag, 17. März 2012, 22:48

Actionscript3 Hotspot distorted Problem

Hallo zusammen,

ich habe mir ein AS3 plugin gebaut, das ein Webcam-Bild im Panorama anzeigt und "updatet". Als Plugin kein Problem, als Hotspot geht es auch, jedoch ist das Sprite nicht zu sehen, wenn distorted="true" konfiguriert wird. Der Videoplayer kann das ja, also denke ich, dass ich etwas verkehrt mache.

Meine Frage ist also, ob man für AS3 Plugins etwas berücksichtigen muss, wenn es als distorted Hotspot sichtbar sein soll...

Viele Grüße
Peter

2

Dienstag, 20. März 2012, 20:30

Hi,

wenn ein Plugin als 'distorted' Hotspot verwendet werden soll, dann wird nicht das Plugin selbst dargestellt, sondern eine 'Bitmap' Kopie davon. Per AS3 animierte Plugins müssten dieses Bitmap selber updaten.

Dazu zuerst einmal die interne Bitmap Größe festlegen: (auf z.B. die Größe des Videos setzen)

Quellcode

1
plugin.setbitmapsize(width,height);


Und dann in jedem Frame das Bitmap mit folgendem Code updaten:

Quellcode

1
2
3
4
5
6
7
if (plugin.distorted)
{
  var bitmapdata:BitmapData = plugin.bitmapdata;

  bitmapdata.fillRect(new Rectangle(0,0,bitmapdata.width,bitmapdata.height),0);
  bitmapdata.draw(...);
}


Schöne Grüße,
Klaus

3

Mittwoch, 21. März 2012, 17:46

Vielen Dank Klaus,

nu geht's. Naja, wenn ich es lokal von meiner Festplatte aus starte.
Wenn ich "distorted=false" benutze, dann erscheint das Webcam Bild und wird auch neu geladen. Jedoch wird ein krpano.trace nicht ausgegeben

das hier ist die COMPLETE event Funktion, lokal gestartet sehe ich brav "new image..." Vom Server aus nicht....

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
private function newWebCamImage( evt : Event) : void 
		{	
			var image:Bitmap = Bitmap(theWebCam.loader.content);
			var bitmapdata:BitmapData = plugin.bitmapdata;
			
			krpano.trace(1, "new image");
			if (plugin.distorted)
			{
				bitmapdata.draw(image.bitmapData);
				krpano.trace(1, image.width);
			}
		}


Als "nicht-distorted" wird das Bild auch tatsächlich aktualisiert. Kann es ein Sicherheitsproblem sein? Ich meine, dass vielleicht bitmap.draw aus einer fremden Domain von einem Server aus nicht funktioniert, lokal aber schon?

Kenne mich da leider überhaupt nicht aus. Versuche mit einem LoaderContext und CheckPolicyFile=true haben leider nichts gebracht.

Danke sehr für's Lesen
Peter

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »inno« (22. März 2012, 00:17)


4

Samstag, 24. März 2012, 14:20

das ist ja doof. Ich kann also nur distorted webcam Bilder anzeigen, wenn der Server mit der Webcam eine entsprechende crossdomain.xml hat. Das liegt dann wohl daran, das zum Anzeigen von distorted Hotspots ein bitmapData.draw benötigt wird. Ein addChild(loader) unterliegt nicht der securitypolicy.

Jemad einen Tip parat? (mit php erstmal auf den eigenen Server kopieren ist auch nicht so der Knaller)

Schönes Wochenende
Peter

5

Dienstag, 27. März 2012, 17:13

Hi,

ein BitmapData.draw ist notwendig, da das Bild dann letztendlich im Panorama per Flash Graphics API (drawTriangles) gezeichnet wird und daher als BitmapData vorliegen muss.

Umgehen kann man diese Flash Sicherheitsbestimmung meines Wissens nicht (außer eben durch ein Proxy).

Schöne Grüße,
Klaus

6

Mittwoch, 28. März 2012, 10:58

Hallo Klaus und danke sehr für Deine Antwort. Ich hab's mir schon gedacht bzw. ergoogelt. Da kann man halt nichts dran ändern. Dann bleibt es halt bei nicht verzerrten Webcam Bildern *g* Besser als nichts.

Viele Grüße
Peter

7

Dienstag, 17. April 2012, 17:18

ich dachte alles wäre gut...

ich muss nochmal frage ....

bei mir und ganz vielen anderen klappt das Webcam Plugin... bis auf manche Ausnahmen. Wie kann das sein?
Die Fehlermeldung lautet:

Zitat

SecurityError: Error #2123: Verletzung der Sicherheits-Sandbox: Loader.content: http://www.inno360.de/pano/riemann/amrumwelle/whg4/raum4/w4r4_uexpmix.swf/[[DYNAMIC]]/1/[[DYNAMIC]]/8 kann nicht auf http://..... zugreifen. Es haben keine Richtliniendateien Zugriff gewährt.

at flash.display::Loader/get content()
at pano_webcam::pano_webcam/newWebCamImage()[C:\projects\Firma\flex_as3\pano_webcam\src\pano_webcam\pano_webcam.as:128]"

Den Fehler bekam ich immer, wenn ich ein bitmap.draw (bei der distorted Darstellung) verwendet habe. Da half ja nur eine crossdomain.xml auf dem Server der die Webcam-Bilder abliefert.

Warum geht es nun bei manchen und bei anderen nicht? Her ein Beispiel zum Corpus-Defekti

http://www.inno360.de/pano/riemann/amrum…raum1/w5r1.html (oben links)

LG
Peter

8

Donnerstag, 19. April 2012, 16:10

Hi,

es gibt keine crossdomain.xml auf dem Server der Webcam Grafik,
siehe:
http://www.nordseeinsel-amrum.de/crossdomain.xml

Schöne Grüße,
Klaus

9

Donnerstag, 19. April 2012, 16:46

Hallo Klaus,

vielen Dank für Deine Antwort. Richtig, die meisten Webcam-Server haben das nicht. Was mich nur wundert ist, dass die meisten Besucher keine Fehlermeldung erhalten, manche jedoch schon. Müsste es nicht bei allen klappen oder eben bei allen nicht klappen? Ich finde nicht heraus, woran es liegt bzw. welche Voraussetzung ein Funktionieren ermöglichen...

Viele Grüße
Peter

10

Donnerstag, 19. April 2012, 18:08

Hi,

solcher Flashplayer Fehlermeldung sind nur bei Verwendung des DEBUG Flashplayers sichtbar,

Schöne Grüße,
Klaus

11

Sonntag, 22. April 2012, 17:35

danke für den Tip Klaus. Ich benutze beides und bekomme die Fehlermedlung nicht. Ob der Kunde einen Developer/Debug Player benutzt würde mich wundern, aber ich frag sicherheitshalber mal nach. Wär ja schonmal eine Fährte....


LG
Peter