JPG mit AS beschneiden?

B_sti

Grünschnabel
Hallo Leute,

ich lade ein JPG dynamisch während der Laufzeit via ActionScript in meine Anwendung. Nun hat das Bild nicht das richtige Format (4:3) und ich würde es gerne ein wenig zuschneiden so das dem Bild z.B. links und rechts jeweils 100px abgeschnitten werden. Leider hab ich bis jetzt keine Möglichkeit gefunden dies zu realisieren. Bietet AS einem diese Funktionalität oder ein Workaround?

Ich verwende Flash8 und AS 2.0

PHP:
function loadPicture(file:String){
	this.PictureFrame.createEmptyMovieClip("holder_mc", 1);
	var mclListener:Object = new Object();
	mclListener.onLoadInit = function(target_mc:MovieClip){
		PictureFrame.holder_mc._y = 100;
		PictureFrame.holder_mc._x = 150;
	}
	
	var image_mcl:MovieClipLoader = new MovieClipLoader();
	image_mcl.addListener(mclListener);
	image_mcl.loadClip(file, PictureFrame.holder_mc);
}

Grüße,
Basti
 
Hallo,
ja. Das geht. Ich würde einfach eine Maske benutzen; also zunächst ein Rechteck zeichnen und dann diese Maske apellieren. Wir hatten ein solches Beispiel letzte Woche hier im Forum, vielleicht guckst du mal durch die ersten paar Seiten ob du da was mit Masken findest - der dortige Code war ziemlich genau das, was du brauchst.

Ich selbst hab im Moment keine Zeit, diese Suche selbst durchzuführen. Morgen Physikklausur.

Liebe Grüße und viel Erfolg beim Suchen
jens
 
Wenn ich den Code so wie er in dem anderen Thread steht übernehme, und ihn in ein leeres Dokument einfüge funktioniert er ohne Probleme. (Szene 1, Level 1, Frame 1). Aber sobald ich den Code in eine Funktion packe, und diese Funktion aufrufe, funktioniert es schon nicht mehr.

PHP:
function loadPicture(){
	this.createEmptyMovieClip("maske_mc", getNextHighestDepth());
	maske_mc._x = 0;
	maske_mc._y = 0;
	maske_mc.lineStyle(1, 0x006600, 100);
	maske_mc.beginFill(0x006600);
	maske_mc.moveTo(10, 10);
	maske_mc.lineTo(10, 110);
	maske_mc.lineTo(110, 110);
	maske_mc.lineTo(110, 10);
	maske_mc.lineTo(10, 10);
	maske_mc.endFill();
	var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
	var mcLoader:MovieClipLoader = new MovieClipLoader();
	mcLoader.addListener(this);
	mcLoader.loadClip("1.JPG", container);
	
	function onLoadInit(mc:MovieClip) {
		container.setMask(maske_mc);
	}
}
loadPicture();

Woran liegt das? Ich komm da leider trotz vielem rumprobieren nicht dahinter.

@Jens: Wie lief die Klausur? ;)

Grüße,
Basti
 
Hi,

probiers mal so:
Code:
function loadPicture(){
    var maske_mc = this.createEmptyMovieClip("maske_mc", getNextHighestDepth());
    maske_mc._x = 0;
    maske_mc._y = 0;
    maske_mc.lineStyle(1, 0x006600, 100);
    maske_mc.beginFill(0x006600);
    maske_mc.moveTo(10, 10);
    maske_mc.lineTo(10, 110);
    maske_mc.lineTo(110, 110);
    maske_mc.lineTo(110, 10);
    maske_mc.lineTo(10, 10);
    maske_mc.endFill();
    var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    mcLoader.onLoadInit(mc:MovieClip) {
        container.setMask(maske_mc);
    }
    mcLoader.loadClip("1.JPG", container);
}
loadPicture();

Gruß
.
 
Da knallts dann bei:
PHP:
    mcLoader.onLoadInit(mc:MovieClip) {
        container.setMask(maske_mc);
    }

**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 15: ')' oder ',' erwartet
mcLoader.onLoadInit(mc:MovieClip) {

**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 17: Unerwartetes Auftreten von '}'
}

Anzahl der ActionScript-Fehler: 2 Gemeldete Fehler: 2
 
Das hab ich mir auch schon gedacht, aber das funktionierte auch nicht
**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 16: Keine Eigenschaft mit dem Namen 'onLoadInit' vorhanden.
mcLoader.onLoadInit = function(mc:MovieClip) {

Anzahl der ActionScript-Fehler: 1 Gemeldete Fehler: 1

Da ich noch nicht ganz so lang in AS unterwegs bin, ist mein Latein langsam am Ende. Hab schon diverse Dinge versucht, aber noch zu keinem Ergebnis gekommen.

Grüße,
Basti
 
Ich habs:
PHP:
 var mcLoader = new MovieClipLoader();

    mcLoader.onLoadInit = function(mc:MovieClip) {
        container.setMask(maske_mc);
		trace(container);
	}

nach "var mcLoader" muss die Typisierung ":MovieClipLoader" weg, dann funktionierts :-/
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück