Zoom sans rééchantillonage

cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016 - 28 mars 2016 à 18:53
cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016 - 30 mars 2016 à 09:10
Bonjour,
Je voudrais faire une fonction de zoom qui se contente de grossir chaque pixel en préservant mon image. Actuellement quelle que soit la méthode de réchantillonage utilisée, ça crée un flou et donc si je zoom et dezoom et rezoom... mon image devient complètement flou. Moi je voudrais pouvoir uniquement grossir chaque pixel.
Voilà mon code et le contraire pour le dezoomage.

J'utilise Visual studio 2015 community.

        private void buttonZoomPlus_Click(object sender, EventArgs e)
        {
            Image1 = new Bitmap("ImgTemp.bmp");
            float FacteurZoom = 1.1f;
            Bitmap ImageZoomé = new Bitmap(Image1, Convert.ToInt32(Image1.Width * FacteurZoom), 
                Convert.ToInt32(Image1.Height * FacteurZoom));
            Graphics grap = Graphics.FromImage(ImageZoomé);
            grap.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Low;
            Image1.Dispose();
            ImageZoomé.Save("ImgTemp.bmp");
            pictureBoxEcran.Image = ImageZoomé;
       }

3 réponses

Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
28 mars 2016 à 19:14
Bonjour,

Peut être peux tu essayer une bibliothèque de traitement de l'image
Voir ici
http://codes-sources.commentcamarche.net/forum/affich-10061913-accelerer-un-traitement-d-image-par-decoupe-ou-non#13
0
cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016
29 mars 2016 à 11:08
Je vais bien sûr regarder cette bibliothèque même si ce n'est pas mon souhait actuel. Sinon j'envisage de grossir chaque pixel à la mano.
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
29 mars 2016 à 11:30
Bonjour, si on est venu à chercher des outils externes, c'est que ceux de la framework ne sont pas assez performant.
Par exemple un miroir sur une image en 256 niveau de gris était tout pixelisé.
0
cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016
29 mars 2016 à 11:33
Merci pour votre commentaire.
Je suis débutant en C# je crois que je viens d'en trouver une limite.
0
BunoCS Messages postés 15474 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 22 avril 2024 103
29 mars 2016 à 15:02
Hello,

Je m'avance peut-être un peu trop mais j'aurais une approche différente de la tienne. Plutôt que d'appliquer les différents zoom sur les images résultantes, pourquoi ne pas les appliquer sur l'image source? Tu garderais ainsi ta qualité de base, non?
0
cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016
30 mars 2016 à 09:10
Obnubilé par mes extrapolations hasardeuses je ne l'ai pas vu. Tu as tout a fait raison et merci de ta remarque.
Mais ça ne règle pas mon problème. Je voudrais vraiment zoomer sur de beau pixels bien carrés.
0
Rejoignez-nous