imprimer une zone specifique dans flash

vector

Membre confirmé
16 Novembre 2004
157
1
48
virginie.penalba.free.fr
Bonjour à tous
j'ai trouvé ce code pour imprimer une zone specifique de ma page, le problème est que c'est en cliquant sur toute la page que l'action se déclenche et moi j'aimerais que se soit déclenché par un bouton..
Est-ce possible ?
Bloc de code:
cadre_mc._visible = false;
var down:Boolean = false;
var xMin:Number;
var yMax:Number;
var xMin:Number;
var yMax:Number;
this.onMouseDown = function() {
	down = true;
	xMin = _xmouse;
	yMin = _ymouse;
	cadre_mc._x = xMin;
	cadre_mc._y = yMin;
};
this.onMouseMove = function() {
	updateAfterEvent();
	if (down) {
		cadre_mc._visible = true;
		xMax = _xmouse;
		yMax = _ymouse;
		cadre_mc._xscale = xMax-xMin;
		cadre_mc._yscale = yMax-yMin;
	}
};
this.onMouseUp = function() {
	down = false;
	cadre_mc._visible = false;
	imprimerSelection();
};
function imprimerSelection() {
	var printJob:PrintJob = new PrintJob();
	var resultat:Boolean = printJob.start();
	if (resultat) {
		printJob.addPage(0,{xMin:xMin,xMax:xMax,yMin:yMin,yMax:yMax}, {printAsBitmap:true}, _currentframe);
		printJob.send()
		delete printJob;
	} else {
		trace("l'opération à été annulée par l'utilisateur")
		delete printJob;
	}
}
merci
vector
 

jeanba3000

Vétéran
Club MacG
28 Février 2001
5 002
413
15 mn du Pascalou
www.jeanba.net
Tout est possible en Flash, suffit d'apprendre ;)

En plus dans Flash, si tu tapes F1, tu fais sortir le génie du Flash, et celui-ci tu n'es pas limité à trois questions ! :up:
 

obi wan

Membre d’élite
Club MacG
19 Mars 2003
1 628
86
le problème est que c'est en cliquant sur toute la page que l'action se déclenche et moi j'aimerais que se soit déclenché par un bouton..

Le but du code que tu as posté c'est de créer une zone de sélection à imprimer par drag'n'drop, puis il balance l'impression du cadre défini au moment où on relache la souris.

Tu veux garder l'histoire du cadre de sélection modifiable, ou alors imprimer une zone à position et taille fixes prévues à l'avance ?

+1 pour jeanba, la doc est ton amie ;) , et celle de flash est pleine d'exemples.
 

vector

Membre confirmé
16 Novembre 2004
157
1
48
virginie.penalba.free.fr
Le but du code que tu as posté c'est de créer une zone de sélection à imprimer par drag'n'drop, puis il balance l'impression du cadre défini au moment où on relache la souris.

Tu veux garder l'histoire du cadre de sélection modifiable, ou alors imprimer une zone à position et taille fixes prévues à l'avance ?

+1 pour jeanba, la doc est ton amie ;) , et celle de flash est pleine d'exemples.

Alors je tiens à dire qu'avant de poster j'ai passé du temps dans l'aide, dans les sites divers sur flash à chercher..vous pensez que j'en fout pas une:sleep:...mais c'est faux:eek:, le problème est que j'ai trop de lacune en actionscript pour comprendre certaines explications..:mouais:
Bon je galère mais je fais des efforts je vous jure !
Bref pour repondre à mon problème : non tout ce qui m'interesse c'est d'imprimer une zone de ma page flash en cliquant sur un bouton.

En plus j'ai imprimé pour voir, le cadre je comprends pas trop à quoi il sert, la zone imprimer sort du cadre, et la zone de clique sort aussi...
merci de votre patiente..
 

obi wan

Membre d’élite
Club MacG
19 Mars 2003
1 628
86
Arf Flash c'est toute une histoire :D C'est normal d'être un peu perdu au début !
Là tu étais pas loin, si les sources avaient été commentées ça aurait été plus facile.

Je t'ai fait un exemple rapide en as2 (qui marche ^^).
 

vector

Membre confirmé
16 Novembre 2004
157
1
48
virginie.penalba.free.fr
En faite ça remarche..voici le code que J'Ai modifié seule ::)
Bloc de code:
on(release){
		
var xMinImpression = this._parent.delimiteur._x;
	var yMinImpression = this._parent.delimiteur._y;
	var xMaxImpression = this._parent.delimiteur._x + this._parent.delimiteur._width;
	var yMaxImpression = this._parent.delimiteur._y + this._parent.delimiteur._height;
	
	//maintenant qu'on a défini la zone à partir de notre rectangle, on y va :-)
	var printJob:PrintJob = new PrintJob();
	var resultat:Boolean = printJob.start();
	if (resultat) {
		printJob.addPage(0,{xMin:xMinImpression,xMax:xMaxImpression,yMin:yMinImpression,yMax:yMaxImpression}, {printAsBitmap:true}, _currentframe);
		printJob.send()
		delete printJob;
	} else {
		trace("l'opération à été annulée par l'utilisateur")
		delete printJob;
	}
}

En le mettant sur mon occurance bouton.
Le problème 1 : c'est que ça imprime une zone + large que mon cadre.
probleme 2 : (mais il existe sur le fla que tu m'as envoyé) quand je fais l'aperçu avant impression ou que j'imprime j'ai une grosse dominante bleu...
v