Bonjour,
Quelqu'un aurait il déjà développer une fonction en c# qui permettrait de redimensionner des photos en conservant les proportions avant de les injecter en bdd.
Les phots seraient dans un répertoire local au client.
Merci de votre aide.
Bonjour,
Quelqu'un aurait il déjà développer une fonction en c# qui permettrait de redimensionner des photos en conservant les proportions avant de les injecter en bdd.
Les phots seraient dans un répertoire local au client.
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Image original = Image.FromFile(fichierSource); Image newImage = new Bitmap(original, nouvelleLargeur, nouvelleHauteur); newImage.Save(fichierDestination);
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Bonjour,
Et quelque soit le format de l'image ? JPG ou autre ?
E Leducq
Peu importe le format, ça change rien. Le format utilisé pour l'enregistrement est déduit par rapport à l'extension, mais tu peux aussi le préciser en paramètre de Save
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
merci pour l'aide.
je vais regarder cela .
Tiens tiens !
Tomlev m'a de nouveau appris qq chose!
Je ne connaissais pas ce constructeur de Bitmap
D'habitude pour faire ca j'utilise un Graphics.DrrawImage qui permet de définir le mode d'interpolation et l'aliasing
Mais je me demande comment fait le constructeur de BitMap ?
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
bonjour,
j'ai encore une question .... comment transformer mon fichier fichier de Destination en tableau de byte[].
C'est pour l'importer en bdd dans un blob
Merci de votre aide
Pour ma part je n'ai jamais aimé cette maniere qui pose a mon avis plus de désagrément que d'avantagesC'est pour l'importer en bdd dans un blob
Je prefere stocker les images sur un repertoire partagé et la reference a ces images dans la DB.
Le path du repertoire pouvant etre défini dans un settings qq part
oui moi aussi mais malheureusement j'ai pas le choix.
j'ai trouvé une idée sur le net et je l'ai adapté ...
qu'en pensez vous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 byte[] byteData = new byte[0]; MemoryStream ms = new MemoryStream(); Image photoDimensionne = Image.FromFile(fichierDestination); photoDimensionne.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byteData = ms.ToArray();
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
j'ai le fichier fichier ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 byte[] byteData = new byte[0]; byteData = File.ReadAllBytes(fichierDestination);
avec fichierDestination repertoire\ .... \image.jpg
c'est ca ?
Oui, sauf que ça sert à rien d'initialiser byteData avec un tableau vide, vu que tu lui affectes une autre valeur aussitôt après...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 byte[] byteData = File.ReadAllBytes(fichierDestination);
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Autre méthode , avec une meilleur qualité d'image résultante ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 /// <summary> /// Resize the image to the specified width and height. /// </summary> /// <param name="image">The image to resize.</param> /// <param name="width">The width to resize to.</param> /// <param name="height">The height to resize to.</param> /// <returns>The resized image.</returns> public static System.Drawing.Bitmap ResizeImage(System.Drawing.Image image, int width, int height) { //a holder for the result Bitmap result = new Bitmap(width, height); //use a graphics object to draw the resized image into the bitmap using (Graphics graphics = Graphics.FromImage(result)) { //set the resize quality modes to high quality graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //draw the image into the target bitmap graphics.DrawImage(image, 0, 0, result.Width, result.Height); } //return the resulting bitmap return result; }
Salut
Et du coup tu a répondu a la question qui m'était venue avec kla méthode proposée par TomLev
Envoyé par olibara
Même si je n'applique pas au finale la méthode proposée , je vous remercie bien car cela m'a permis d'avoir un point de départ
Partager