taupe4
Messages postés91Date d'inscriptiondimanche 16 avril 2006StatutMembreDernière intervention17 avril 2008
-
29 déc. 2006 à 23:25
projetf
Messages postés26Date d'inscriptiondimanche 15 avril 2007StatutMembreDernière intervention27 avril 2009
-
1 mai 2007 à 14:16
Bonjour, je développe présentement une application de traitement d'images (qui commencera par ressembler à Paint) afin de faire un module pour une application (sans but d'être meilleur que les autres, juste pour apprendre).
Mon problème est le suivant: Je possède une zone de travail qui s'agrandit/se rétrécit lorsqu'on redimensionne la fenêtre (pour l'instant c'est comme ça). J'ai en même temps un bitmap & un Graphics en mémoire qui retient tout ce qui apparait dans la zone de travail. Or, je voudrais agrandir/rétrécir le Bitmap mais sans redimensionner l'image (donc ajouter ou retirer des pixels).
Soit ces deux codes donnent des résultats hasardeux, soit j'ai mal créé ma méthode de gestion du redessinnement:
void _pnlDrawPaint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage (_bitmap, e.ClipRectangle, e.ClipRectangle, GraphicsUnit.Pixel);
}
S.V.P, est-ce que quelqu'un pourrait m'aider ?
Merci d'avance
A voir également:
Comment redimensionner une image sans agrandir son contenu
taupe4
Messages postés91Date d'inscriptiondimanche 16 avril 2006StatutMembreDernière intervention17 avril 20081 31 déc. 2006 à 13:22
Je vais essayer de clarifier:
_pnlDraw est un Panel dans lequel l'utilisateur trace (et voit son dessin)
_bitmap est un Bitmap qui conserve tout ce qui est dans _pnlDraw
_graphic est l'objet Graphics attaché à _bitmap, tout ce qui est tracé dans _pnlDraw est aussi tracé dans _graphic
_sbpMessage est un label dans la status bar qui indique un message d'informations.
Je croyais que ça serait assez facile de trouver l'erreur, pourtant j'ai cherché beaucoup et je n'ai rien trouvé qui améliore les choses; c'est pourquoi je demande la question.
taupe4
Messages postés91Date d'inscriptiondimanche 16 avril 2006StatutMembreDernière intervention17 avril 20081 27 févr. 2007 à 13:31
Bien que cela ne soit pas le bon forum , en VB.net on procède ainsi:
Public Shared Function RedimImage(ByVal source As Bitmap, ByVal nouvelleTaille As Size) As Bitmap
Dim retour As New Bitmap(nouvelleTaille.Width, nouvelleTaille.Height)
'On crée un objet bitmap de taille désirée
Dim retourGraphics As Graphics = Graphics.FromImage(retour)
'On obtient la surface pour travailler
'On dessine l'image à partir de 0,0 dans le bitmap; le redimensionnement est automatique
retourGraphics.DrawImage(source, New Rectangle(New Point(0, 0), nouvelleTaille))
retourGraphics.Dispose()
Return retour
End Function
(ne pas oublier Imports System.Drawing)
Site de vbfrance «L'erreur est humaine mais un véritable désastre nécessite un ordinateur.»
«Selon les derniers chiffres, 43 % des statistiques sont fausses»
Vous n’avez pas trouvé la réponse que vous recherchez ?