Filigrane en c# [resolu]

Yop

Je suis en train de developper une appli en c#, et j’aimerais
que lorsque je coche une case confidentiel, toutes mes impressions
de documents aient un filigrane, comme dans certaines imprimantes qui
permettent de choisir lors de l’impression un texte de fond.

J’aimerais avoir des conseils sur la manière dont je peux réaliser ça, car
j’aimerais que le texte soit sur une diagonale et soit le plus discret
possible de façon à ce que le document soit toujours lisible.

Actuellement je le fait de cette manière qui me convient pas du tout :

[cpp]
g.DrawString(this.forms_confid.Text, new Font(“Arial”, 20), new SolidBrush(Color.Gray),x,y);
[/cpp]

Toute suggestion est la bienvenue, j’ai cherché sur Google mais ya vraiment rien du tout
sur les filigranes en c#

@ ++ pthichat

Tu veux juste rajouter un texte sur le fond de ton document ?
Pour ajouter des données à un document d’impression ta technique est la bonne.

Tu créé un objet Filigrane contenant ta forme ou ta chaîne en diagonale. Avec les dimensions de la page, une teinte particulière, plus claire que l’ensemble du document.
Tu ajoutes cet objet à l’objet Graphics imprimable, puis tu ajoutes les autres objets formant le document par-dessus.
Je vois que ça.

Oué c’est ce que je veux faire, mais en gros j’arrive pas a tourner mon texte en diagonale car le drawstring il permet de faire que du horizontal et du vertical du coup j’aimerais bien trouver un truc qui puisse me permetre de faire un rotate.

en tout les cas merci d’avoir répondu :stuck_out_tongue:

Bah tu peux tricher en développant dans ton objet Filigrane une méthode positionnant chaque lettre du filigrane et postionne le filigrane sur le document en fonction de sa taille. :wink:

style :

f
i
l
i
g
r
a
n
e
(mais en plus joli car tu es totalement libre de la position des lettres en abscisse et en ordonnée).
Ca devrait pas être bien long à coder.
enfin c’est peut-être réinventer la roue si ça existe déja :slight_smile:

Voir acheter un composant qui le fait.

Bon j’ai trouvé une méthode qui permette de faire ça, de maniere plus propre :stuck_out_tongue:
Il suffit de faire une rotation a l’objet de fond juste avant d’ecrire dessus.

[cpp]
g.RotateTransform( 45 );
g.DrawString(this.forms_confid.Text, new Font(“Arial”, 20),new SolidBrush(Color.Gray),x,y);
[/cpp]

Bein finalement c’etait pas si dur :stuck_out_tongue:

:lol: Je cherche toujours midi à 14h :slight_smile: