none
RotateFlip RRS feed

  • Question

  • Bonjour,

    j'utilise rotateflip pour faire tourner une image

    que j'enregistre ensuite

    img.RotateFlip(RotateFlipType.Rotate90FlipNone)

    Tout se passe bien sauf que de 2200 ko au depart j'arrive à 20 000 ko

    apres l'avoir enregistrée.

     Pourquoi ? Quel remède ?

    merci

    mardi 15 octobre 2013 15:46

Réponses

  • Bonjour,

    Essayez de faire :

    img.Save("c:\fichierintermediaire.jpg", ImageFormat.Jpeg)

    Pouvez-vous nous indiquer si l'image qui pèse 22 Mo est beaucoup plus grande que l'originale ? Essayez de les comparer via un logiciel de retouche d'image (photoshop, paint,...).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    • Marqué comme réponse Aurel Bera mardi 22 octobre 2013 08:18
    mercredi 16 octobre 2013 21:09
    Modérateur
  • Désolé de mon retard mais j'ai été absent.

    le problème des 22 MO vient du fait que par defaut

    le paramètre est ImageFormat.bmp qui entraine 22 MO

    dont il faut explicitement utilisé ImageFormat.Jpeg et on a 3-4 MO

    merci

    • Marqué comme réponse PRVB66 mardi 29 octobre 2013 16:54
    mardi 29 octobre 2013 16:54

Toutes les réponses

  • Bonjour,

    Vous enregistrer sans doute votre image dans la mauvais format. Pouvez nous dire le format initial de l'image et pouvez vous nous montrer le code que vous utilisez au niveau de l'appel à Image.Save() ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    mardi 15 octobre 2013 19:30
    Modérateur
  • voici le code (je ne suis qu'un bricolo de l'informatique)

    1/ tourner l'image

    pb est le picture box, img(modulaire) est img=image.fromfile("origine.jpg")

    pb.image=img

     Try
           img.RotateFlip(RotateFlipType.Rotate90FlipNone)
     Catch ex As Exception
          Stop
     End Try
     pb.Image = img

     2/l'enregistrement -- 2 pb à contourner

       le fichier est verrouillé et ne peut être supprimé

       on ne peut pas réécrire sur le même fichier

    -- je sauve l'image tournée ds un fichier intermédiaire

           
            img.Save("c:\fichierintermédiaire.jpg")         'on ne peut sauver sur origine.jpg
             img.Dispose()    'pour pouvoir fermer le fichier
             img = Nothing

             File.Delete("origine.jpg")

            

              Dim image_intermediaire As Image

              image_intermediaire = Image.FromFile("c:\fichierintermediaire.jpg")

              image_intermediaire.Dispose()
              image_intermediaire = Nothing
              My.Computer.FileSystem.RenameFile("c:\fichierintermediaire.jpg", "origine.jpg")

    donc beaucoup de contorsions mais ça marche si ce n'est que je passe de 2 000 à 20 000 ko (approximativement)   

    merci de vos conseils

    mercredi 16 octobre 2013 12:39
  • c'est le save ds un fichier intermédiaire qui m'amène à 22 000 ko

    "

    img.Save("c:\fichierintermédiaire.jpg")         'on ne peut sauver sur origine.jpg

    "

    mercredi 16 octobre 2013 12:48
  • Bonjour,

    Essayez de faire :

    img.Save("c:\fichierintermediaire.jpg", ImageFormat.Jpeg)

    Pouvez-vous nous indiquer si l'image qui pèse 22 Mo est beaucoup plus grande que l'originale ? Essayez de les comparer via un logiciel de retouche d'image (photoshop, paint,...).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    • Marqué comme réponse Aurel Bera mardi 22 octobre 2013 08:18
    mercredi 16 octobre 2013 21:09
    Modérateur
  • Bonjour PRVB66

    Avez-vous des nouvelles pour nous?

    Merci!

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    lundi 21 octobre 2013 08:05
  • Désolé de mon retard mais j'ai été absent.

    le problème des 22 MO vient du fait que par defaut

    le paramètre est ImageFormat.bmp qui entraine 22 MO

    dont il faut explicitement utilisé ImageFormat.Jpeg et on a 3-4 MO

    merci

    • Marqué comme réponse PRVB66 mardi 29 octobre 2013 16:54
    mardi 29 octobre 2013 16:54