IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

GDI problème de netteté autour text ajouté à un bitmap


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut GDI problème de netteté autour text ajouté à un bitmap
    Bonjour à Tous,

    Tout d'abord, je dois avouer que je suis totalement novice en programmation GDI. Ceci explique certainement ma question...

    Dans le cadre d'un développement de site web .NET 2.0, je dois notamment créer des images dynamiquement, qui contiennent entre autre, du texte.

    Bref, je crée un bitmap, lui assigne une couleur de fond, puis écris le texte et ainsi de suite jusqu'à sauvegarder l'image obtenue sur disque.

    Tout va très bien sauf que lorsque je regarde de plus près le résultat obtenu (notamment en zoomant), je m'aperçois que ce n'est pas net tout autour du texte. On dirait que le fait d'avoir ajouté le text au bitmap a provoqué une sorte d'interférence entre les pixels qui se trouvent directement autour du texte (voir image en annexe).

    Voici le code que j'utilise... Quelqu'un aurait-il une solution?
    Merci d'avance,

    Didier

    Code source (également en annexe):

    Public Sub Generate(ByVal vstrText As String)

    ' Image Container
    Dim bmBitmap As Bitmap = New Bitmap(100, 150, PixelFormat.Format32bppArgb)
    Dim grGraphic As Graphics = Graphics.FromImage(bmBitmap)

    ' Rendering quality
    grGraphic.SmoothingMode = SmoothingMode.HighQuality
    grGraphic.InterpolationMode = InterpolationMode.HighQualityBilinear
    grGraphic.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit

    ' random values for the colors
    Dim rndNumber As Random = New Random(DateTime.Now.Millisecond)
    Dim r, g, b As Integer
    r = rndNumber.Next(0, 200)
    g = rndNumber.Next(0, 200)
    b = rndNumber.Next(0, 200)

    ' Background
    Dim bgImg as Rectangle = new Rectangle(0,0,100,150)
    Dim myBrush As New SolidBrush(Color.FromArgb(r, g, b))
    grGraphic.FillRectangle(myBrush,bgImg)
    myBrush.Dispose()

    ' Font
    Dim myFont As Font = New Font("Times New Roman", 25, FontStyle.Bold) 'FontStyle.Regular

    ' text color
    Dim myPen As New SolidBrush(Color.white)

    ' Text drawing
    Dim myFont as Font= new Font("Arial", 10.0f, FontStyle.Regular, GraphicsUnit.Point)

    grGraphic.DrawString(vstrText, myFont, myPen, New PointF(10.0f, 10.0f))

    'Release Brush
    myPen.Dispose()

    ' Affichage de l'image sur la page
    bmBitmap.Save("d:\tests\test.jpg", ImageFormat.Jpeg)

    'Dispose Font
    myFont.Dispose()

    'Dispose bitmap
    bmBitmap.Dispose()

    'Dispose graphical interface
    grGraphic.Dispose()
    End Sub
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Résolu] raison: induit par la compression du format Jpeg
    Le problème est résolu et n'était causé que par la compression de l'image en format Jpeg.

    En remplaçant le Jpeg par Png, on résoud le problème.

    bmBitmap.Save("d:\tests\test.png", ImageFormat.Png)

    En espérant que cela puisse également être utile à quelqu'un d'autre...

    Référence: http://forums.microsoft.com/MSDN/Sho...91056&SiteID=1

    Didier

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Merci, n'oublie pas le tag (le bouton en dessous de la liste des messages)

Discussions similaires

  1. Problème de netteté sur du texte 2D
    Par otofraise dans le forum OpenGL
    Réponses: 3
    Dernier message: 01/01/2008, 01h39
  2. Problème champs de type texte.
    Par Le-Cortex dans le forum Access
    Réponses: 7
    Dernier message: 06/01/2005, 14h42
  3. [FLASH MX] Probleme de nettete du texte
    Par anksou dans le forum Flash
    Réponses: 2
    Dernier message: 04/11/2004, 10h31
  4. Problème de récupération de texte de formulaire
    Par bigourson dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2004, 16h27
  5. problème de passage de texte avec getvariable
    Par VincentB dans le forum Flash
    Réponses: 2
    Dernier message: 12/01/2004, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo