REDIMENSION D'IMAGE EN C#

Signaler
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
 Utilisateur anonyme -
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51198-redimension-d-image-en-c

Utilisateur anonyme
J'ai changé le constructeur et ajouter un FileStream qui contient l'image, comme ça on peut écrire sur un fichier existant.

J'ai lu l'article et je n'avais pas pensé aux comptes limités, mais je laisse comme c'est, je pense que ça reste facile à changer.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
33
Je pense qu'il faut reserver ce constructeur pour la conversion entre données non managées et Bitmap .NET de plus ça nécessite de ne pas détruire le buffer avant la copie.

- Le ctor Bitmap(int width, int height, PixelFormat format) specifie le format et le ctor Bitmap(Image original, Size newSize) s'occupe de la copie tout seul mais definit le format lui même.

- C'est une remarque d'ordre général car le programme peut avoir été installé par un soft ou par un administrateur.

http://blogs.codes-sources.com/coq/archive/2006/02/26/enregistrement-de-param-tres-sauvegardes-etc-en-winform.aspx
Utilisateur anonyme
Bonjour,

Que penses tu de ce bout de code à rajouter au dessus du using ?

BitmapData d = old.LockBits(new Rectangle(0, 0, old.Width, old.Height), ImageLockMode.ReadOnly, old.PixelFormat);
Bitmap b = new Bitmap(destWidth, destHeight,d.Stride, old.PixelFormat, d.Scan0);
old.UnlockBits(d);

Ca permet de garder le PixelFormat orginal.

Pour la première remarque, je ne suis pas sûr de comprendre; l'utilisateur place le programme dans un dossier dans lequel il peut écrire, et donc le programme aussi, non ?
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
33
- Ne pas sauvegarder dans le dossier de l'application car très souvent l'utilisateur ne dispose pas des droits en écriture dans ce dossier.

- Attention au constructeur Bitmap( int, int ) qui créer une image au format 32bppArgb ce qui n'est pas forcement le même format que l'image originale.