Redimensionnement d'image

cs_roro69 Messages postés 70 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 29 septembre 2018 - Modifié par cs_roro69 le 20/06/2015 à 07:44
Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 - 22 juin 2015 à 16:50
Bonjour et merci pour votre aide
Voici mon problème:
Dans mon projet ; j'ai une image d'origine juste à deux couleurs que je dois redimensionner ; j'utilise le code ci-après pour le redimensionnement


Dim ImageOrigine As New Bitmap(pic.Image) 'Variable pour déclarer l'image source
Dim x As Int32 = CInt(TextBox1.Text) 'variable pour la nouvelle largeur
Dim y As Int32 = CInt(TextBox2.Text) 'variable pour la nouvelle hauteur
Dim width As Integer = x 'largeur image.

Dim height As Integer = y 'Hauteur image

Dim NouvelleImage As New Bitmap(width, height) 'Variable pour la nouvelle image

Dim g As Graphics = Graphics.FromImage(NouvelleImage) 'JE recrée une image
With g
'Utilisation de la classe drawing2D pour recrée l'image
.CompositingQuality = Drawing.Drawing2D.CompositingQuality.HighQuality
.InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
.PixelOffsetMode = Drawing.Drawing2D.PixelOffsetMode.None
.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighQuality
.CompositingMode = Drawing.Drawing2D.CompositingMode.SourceOver
.DrawImage(ImageOrigine, New Rectangle(0, 0, width, height), New Rectangle(0, 0, ImageOrigine.Width, ImageOrigine.Height), GraphicsUnit.Pixel)
End With
pic.Image = NouvelleImage
Catch
MsgBox("Impossible de recrée l'image")
End Try


Donc mon problème est que lorsque l'image est redimensionner ; plein de pixel se retrouve grisé.
Dans mon projet j'ai besoin que dans mon image les pixels ne soit que de deux couleurs .
Y a t-il un moyen de redimensionner une image sans que la couleurs des pixels se modifient?
Merci de votre aide et du temps consacré et de vos conseils

--
A voir également:

8 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 20/06/2015 à 10:29
Bonjour,
La perfection ne saurait exister en matière de redimentionnement d'une image.
C'est en allant aux extrêmes que l'on comprend pourquoi.
Choisissons par exemple comme cas extrême celui, facile à comprendre, d'une image composé de 2 pixels de deux couleurs différentes, que tu veux réduire de moitié ===>> donc à un pixel. Un pixel = 1 seule couleur ... laquelle des deux ?

EDIT : imagine maintenant (oublions même les couleurs) que tu aies à traiter une image de ... disons 363 pixels, dont 11 en hauteur et 33 en largeur et que tu veuilles diviser par 2 tant sa hauteur que sa largeur. Question : combien de pixels contiendra le résultat en hauteur et combien en largeur ?

"conjugues" maintenant tout cela et tu comprendras moins mal ce qui se passe (déformations, etc ...)

Et tout cela : quel que puisse être le mode d'interpolation choisi !
Maintenant : le résultat final pourra être meilleur (ou moins mauvais) lorsque le choix du mode d'interpolation choisi est mieux (ou moins mal) "adapté" à l'image traitée. La détermination de ce choix ne saurait être "universelle" et dépendra toujours, finalement, :
- de l'empirisme et du "coup d'oeil" de celui qui traite l'image.
- de ce que celui qui traite l'image veut mettre préférablement en exergue
- de la priorité qu'il donne soit au respect maximum des couleurs, soit au respect maximum des proportions.


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Rejoignez-nous