Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Mettre un fond derrière un texte dans une image [ Multimédia / Image et Vidéo ] (bikini42)

mercredi 30 mai 2007 à 14:44:45 | Mettre un fond derrière un texte dans une image

bikini42

Bonjour à tous,

Tite question très simple je pense maisà laquelle je ne trouve pas de réponse :

"Peut-on mettre un fond (d'une couleur blanche par exemple) derrière un texte écrit avec DrawString sur une image?"

En fait, quelle que soit la couleur prise lorsque j'écris un texte sur mon image, on ne distingue pas assez les lettres dans certains endroits. Je voudrais donc simplement mettre un ti background blanc à mon texte afin de voir ce qu'il y a d'écrit en toute circonstance.

Mon code pour écrire sur mon image est le suivant :

g.DrawString("Salut",

newFont("Tahoma", taillepolice, FontStyle.Bold), newSolidBrush(Color.Red), X , Y);

Voilà, si vous connaissez l'arguement à rajouter pour mettre un fond blanc derrière ce texte, faites-moi signe svp ;)

Merci d'avance à tous

mercredi 30 mai 2007 à 14:49:57 | Re : Mettre un fond derrière un texte dans une image

bikini42

Ou bien, si vous savez comment faire un contour blanc autour des lettres de couleur... comme vous voulez si vous connaissez aussi ;)

Merci

mercredi 30 mai 2007 à 15:08:32 | Re : Mettre un fond derrière un texte dans une image

sebmafate

Membre Club Administrateur CodeS-SourceS
Attends... j'ai ça en réserve... je poste ça dans les sources :)


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

mercredi 30 mai 2007 à 15:29:01 | Re : Mettre un fond derrière un texte dans une image

sebmafate

Membre Club Administrateur CodeS-SourceS
Voici la source : http://www.csharpfr.com/code.aspx?ID=42905


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

mercredi 30 mai 2007 à 15:41:01 | Re : Mettre un fond derrière un texte dans une image

bikini42

waouhhhh !!merci bcp sebmafate!!

Mais ya vraiment pas plussimple juste pour faire les contours des lettres ou pour mettre un fond blanc derrière notre texte??

Car là ça fait vraimznt compliqué pour un novice comme moi en prog lol

Mais s'il n'y a vrament aucun moyen, je tenterais d'utiliser ça!

J'attend donc d'autres réponses encore qq temps et sinon je tenterai la tienne Sebmafate!

Mais c'est super sympa, vraiment merci!!!

mercredi 30 mai 2007 à 15:46:07 | Re : Mettre un fond derrière un texte dans une image

sebmafate

Membre Club Administrateur CodeS-SourceS
si si... il y a une autre solution... "plus artisanale"...

attends... je te fais ça !


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

mercredi 30 mai 2007 à 15:48:50 | Re : Mettre un fond derrière un texte dans une image

bikini42

C'est franchement super cool Sebmafate!

Moi je recherche rien d'extraordinaire lol, juste un contour blanc, sans effet aucun ;)

le truc le moins sophistiqué du monde quoi lol

T'es trop sympa!

Et là mon niveau a vachement augmenté en C# lol...alors imagines quand j'ai débuté, ya un mois lol



mercredi 30 mai 2007 à 16:04:52 | Re : Mettre un fond derrière un texte dans une image

sebmafate

Membre Club Administrateur CodeS-SourceS
Essaye ce code :

publicstaticImage DrawOutlinedText(string text, Font font, Color foreColor, Color lineColor, int lineWidth) {

    Bitmap retBitmap = null;

 

    using (Graphics g = Graphics.FromHwnd(IntPtr.Zero)) {

        Size sz = g.MeasureString(text, font).ToSize();

 

        using(Bitmap bmp = newBitmap(sz.Width + 2*lineWidth, sz.Height + 2*lineWidth))

        using(Graphics gBmp = Graphics.FromImage(bmp))

        using(SolidBrush brLine = newSolidBrush(lineColor))

        using (SolidBrush brFore = newSolidBrush(foreColor)) {

 

            gBmp.SmoothingMode = SmoothingMode.HighQuality;

            gBmp.InterpolationMode = InterpolationMode.HighQualityBilinear;

            gBmp.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;

 

            for (int i = 0; i < lineWidth * 2; i++)

            {

                for (int j = 0; j < lineWidth * 2; j++)

                {

                    gBmp.DrawString(text, font, brLine, newPointF((float)i, (float)j));

                }

            }

            gBmp.DrawString(text, font, brFore, newPointF(lineWidth, lineWidth));

 

 

            retBitmap = (Bitmap)bmp.Clone();

        }

 

        return retBitmap;

    }

}

 


       
Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]


mercredi 30 mai 2007 à 16:05:42 | Re : Mettre un fond derrière un texte dans une image

sebmafate

Membre Club Administrateur CodeS-SourceS

grrrrr !!!!

public static Image DrawOutlinedText(string text, Font font, Color foreColor, Color lineColor, int lineWidth) {
    Bitmap retBitmap = null;

    using (Graphics g = Graphics.FromHwnd(IntPtr.Zero)) {
        Size sz = g.MeasureString(text, font).ToSize();

        using(Bitmap bmp = new Bitmap(sz.Width + 2*lineWidth, sz.Height + 2*lineWidth))
        using(Graphics gBmp = Graphics.FromImage(bmp))
        using(SolidBrush brLine = new SolidBrush(lineColor))
        using (SolidBrush brFore = new SolidBrush(foreColor)) {

            gBmp.SmoothingMode = SmoothingMode.HighQuality;
            gBmp.InterpolationMode = InterpolationMode.HighQualityBilinear;
            gBmp.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;

            for (int i = 0; i < lineWidth * 2; i++)
            {
                for (int j = 0; j < lineWidth * 2; j++)
                {
                    gBmp.DrawString(text, font, brLine, new PointF((float)i, (float)j));
                }
            }
            gBmp.DrawString(text, font, brFore, new PointF(lineWidth, lineWidth));


            retBitmap = (Bitmap)bmp.Clone();
        }

        return retBitmap;
    }
}




Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]


mercredi 30 mai 2007 à 16:16:06 | Re : Mettre un fond derrière un texte dans une image

SharpMao

Membre Club
Je ne me moque pas, mais ça me rassure de voir que je ne suis pas le seul à qui ça arrive.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)


1 2

Cette discussion est classé dans : texte, couleur, image, fond, écrit


Répondre à ce message

Sujets en rapport avec ce message

Changer la couleur de fond d'une partition [ par Laprune ] Bonjour,A partir d'une partition (musicale) scannee, je souhaite obtenir a l'aide d'un jolie boutton la meme partition mais avec une couleur de fond d [Classes] Attributs [ par stailer ] Bonjour tout le monde, dans une classe on peut définir des attributs très simplement comme ceci : [Description("Fond d'écran")] private Image fo Affichage texte en couleur [ par PetitJean ] Bonjour à tous,Je cherche à controler la couleur du texte que j'affiche dans une console.Par exemple je voudrais afficher une première ligne en rouge Treeview C#(mettre une image en fond) [ par trioy ] Hello,Petite question, après avoir cherché, sans résultat... y'a t il qelqu'un qui sait comment on fait pour mettre une image en arrière plan dans un [C#] Modifier la couleur d'arrière fond de ComboBox et checkBox [ par bibicool ] Bonjour à tous, J'aimerais modifier la couleur d'arrière fond de ComboBox et de CheckBox lorsque ceux-ci sont Disabled (Enabled = false). J'aimerais Lire un texte dans une image [ par JTR ] Bonjour, Je voudrais pouvoir lire le texte dans une image, je m'explique.Si dans une image, j'ai la capture une application (Application DirectX) qui Dimension de mon image de fond de ma frame [ par oxboz ] Bonjour, Voila j'ai une image à mettre en image de fond de toutes mes frames. Probleme: Celles ci sont de dimensions différentes. Comment faire pour Ligne courante, RichTextBox et couleur de fond... [ par bigflo93 ] Salut à tous...Voila, j'ai une richTextBox, et je voudrais changer la couleur de fond de la ligne où se trouve le curseur.Mais juste la couleur de fon changer le nombre de couleur d'une image .tif [ par kyfranBibax ] Coucou, J'aimerai savoir comment sauver mon image en 128 couleurs. Contexte : Je possède une fonction qui transforme une image .tif en .kap(format a Comment changer la couleur du Texte d'un label ou le rendre dynamique en C# [ par susenad ] Bjr Tout le monde,Je voudrais savoir comment changer en l'espere de qqs secondes et de maniere continuelle la couleur d'ecrire d'un Label ou alors le


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,733 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.