OVH Cloud OVH Cloud

impression et scale

6 réponses
Avatar
captainpaf
Bonjour,

je n'arrive pas à redimensionner à l'impression un de mes objects qui
implement Printable.
Je ne vois pas trop ce qui cloche. Toute aide sera la bienvenue.

Voici mon code simplifié :
<code>
public int print(Graphics g, PageFormat pageFormat, int pageIndex)
throws PrinterException
{
Graphics2D g2 = (Graphics2D) g;
g2.translate(0f,0f);
//j'écrit des trucs dans mon graphique
//...
g2.setFont(new Font("Helvetica",Font.PLAIN,50);
g2.drawString("test test test",0,100);
g2.scale(0.3,0.3);
}
return PAGE_EXISTS;
}
</code>
le probleme est que tout s'affiche bien mais le texte n'est pas
rapetissé du tout. Pourquoi ?

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

6 réponses

Avatar
captainpaf
Bonjour,

je n'arrive pas à redimensionner à l'impression un de mes objects qui
implement Printable.
Je ne vois pas trop ce qui cloche. Toute aide sera la bienvenue.

Voici mon code simplifié :
<code>
public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws
PrinterException
{
Graphics2D g2 = (Graphics2D) g;
g2.translate(0f,0f);
//j'écrit des trucs dans mon graphique
//...
g2.setFont(new Font("Helvetica",Font.PLAIN,50);
g2.drawString("test test test",0,100);
g2.scale(0.3,0.3);
}
return PAGE_EXISTS;
}
</code>
le probleme est que tout s'affiche bien mais le texte n'est pas rapetissé du
tout. Pourquoi ?


pardon le g2.translate(0f,0f); se situe à la fin et non au début du
code :
public int print(Graphics g, PageFormat pageFormat, int pageIndex)
throws
PrinterException
{
Graphics2D g2 = (Graphics2D) g;

//j'écrit des trucs dans mon graphique
//...
g2.setFont(new Font("Helvetica",Font.PLAIN,50);
g2.drawString("test test test",0,100);
g2.translate(0f,0f);
g2.scale(0.3,0.3);
}
return PAGE_EXISTS;
}

mais ça ne change de toute façon rien à mon problème

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

Avatar
Phildes
Peut-être qu'en appliquant la transfomation AVANT d'écrire dans ton
Graphics...

Personnellement j'utilise "ScaleTransform( )"

captainpaf a écrit dans le message :

Bonjour,

je n'arrive pas à redimensionner à l'impression un de mes objects qui
implement Printable.
Je ne vois pas trop ce qui cloche. Toute aide sera la bienvenue.

Voici mon code simplifié :
<code>
public int print(Graphics g, PageFormat pageFormat, int pageIndex)
throws PrinterException
{
Graphics2D g2 = (Graphics2D) g;
g2.translate(0f,0f);
file://j'écrit des trucs dans mon graphique
//...
g2.setFont(new Font("Helvetica",Font.PLAIN,50);
g2.drawString("test test test",0,100);
g2.scale(0.3,0.3);
}
return PAGE_EXISTS;
}
</code>
le probleme est que tout s'affiche bien mais le texte n'est pas
rapetissé du tout. Pourquoi ?

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com



Avatar
captainpaf
Peut-être qu'en appliquant la transfomation AVANT d'écrire dans ton
Graphics...

Personnellement j'utilise "ScaleTransform( )"

captainpaf a écrit dans le message :

Bonjour,

je n'arrive pas à redimensionner à l'impression un de mes objects qui
implement Printable.
Je ne vois pas trop ce qui cloche. Toute aide sera la bienvenue.

Voici mon code simplifié :
<code>
public int print(Graphics g, PageFormat pageFormat, int pageIndex)
throws PrinterException
{
Graphics2D g2 = (Graphics2D) g;
g2.translate(0f,0f);
file://j'écrit des trucs dans mon graphique
//...
g2.setFont(new Font("Helvetica",Font.PLAIN,50);
g2.drawString("test test test",0,100);
g2.scale(0.3,0.3);
}
return PAGE_EXISTS;
}
</code>
le probleme est que tout s'affiche bien mais le texte n'est pas
rapetissé du tout. Pourquoi ?

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com



merci de m'avoir répondu aussi rapidement surtout que c'était bien la
solution :-). Il va peut être falloir que je me penche plus sur la
class Graphics2D car il y a encore des choses qui m'échapent...

bonne prog.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com


Avatar
Phildes
Personnellement j'utilise "ScaleTransform( )"
Ignorez cette dernière ligne. (oups !)


Phildes a écrit dans le message :
ceo3r9$j0b$
Peut-être qu'en appliquant la transfomation AVANT d'écrire dans ton
Graphics...



captainpaf a écrit dans le message :

Bonjour,

je n'arrive pas à redimensionner à l'impression un de mes objects qui
implement Printable.
Je ne vois pas trop ce qui cloche. Toute aide sera la bienvenue.

Voici mon code simplifié :
<code>
public int print(Graphics g, PageFormat pageFormat, int pageIndex)
throws PrinterException
{
Graphics2D g2 = (Graphics2D) g;
g2.translate(0f,0f);
file://j'écrit des trucs dans mon graphique
//...
g2.setFont(new Font("Helvetica",Font.PLAIN,50);
g2.drawString("test test test",0,100);
g2.scale(0.3,0.3);
}
return PAGE_EXISTS;
}
</code>
le probleme est que tout s'affiche bien mais le texte n'est pas
rapetissé du tout. Pourquoi ?

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com







Avatar
Phildes
Il va peut être falloir que je me penche plus sur la
class Graphics2D..
Pour les transformation, l'idée est qu'on indique le type de transformation

AVANT de dessiner sur le Graphics.
Sinon, toute transformation affecterait la totalité du Graphique depuis sa
création.

C'est contraire aux outils de dessins ou tu construis ta forme et tu la
"transformes" ensuite.

Moyen mnémotechnique : scale( )... se traduit dans ta tête par
début_de_scale( )
(de même pour toute transformation)

Phildes


captainpaf a écrit dans le message :

Peut-être qu'en appliquant la transfomation AVANT d'écrire dans ton
Graphics...

Personnellement j'utilise "ScaleTransform( )"

captainpaf a écrit dans le message :

Bonjour,

je n'arrive pas à redimensionner à l'impression un de mes objects qui
implement Printable.
Je ne vois pas trop ce qui cloche. Toute aide sera la bienvenue.

Voici mon code simplifié :
<code>
public int print(Graphics g, PageFormat pageFormat, int pageIndex)
throws PrinterException
{
Graphics2D g2 = (Graphics2D) g;
g2.translate(0f,0f);
file://j'écrit des trucs dans mon graphique
//...
g2.setFont(new Font("Helvetica",Font.PLAIN,50);
g2.drawString("test test test",0,100);
g2.scale(0.3,0.3);
}
return PAGE_EXISTS;
}
</code>
le probleme est que tout s'affiche bien mais le texte n'est pas
rapetissé du tout. Pourquoi ?

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com



merci de m'avoir répondu aussi rapidement surtout que c'était bien la
solution :-). Il va peut être falloir que je me penche plus sur la
class Graphics2D car il y a encore des choses qui m'échapent...

bonne prog.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com





Avatar
captainpaf
Phildes a couché sur son écran :
Il va peut être falloir que je me penche plus sur la
class Graphics2D..
Pour les transformation, l'idée est qu'on indique le type de transformation

AVANT de dessiner sur le Graphics.
Sinon, toute transformation affecterait la totalité du Graphique depuis sa
création.

C'est contraire aux outils de dessins ou tu construis ta forme et tu la
"transformes" ensuite.

Moyen mnémotechnique : scale( )... se traduit dans ta tête par
début_de_scale( )
(de même pour toute transformation)

Phildes



ok, merci pour ces précisions. ça m'a bien aidé.