Maison > développement back-end > Tutoriel C#.Net > Comment redimensionner une image en C# ?

Comment redimensionner une image en C# ?

WBOY
Libérer: 2023-09-18 18:41:02
avant
1454 Les gens l'ont consulté

C# 如何调整图像大小?

Un bitmap est constitué des données de pixels d'une image graphique et de ses attributs. Il existe de nombreux formats standard pour enregistrer des bitmaps dans des fichiers. GDI+ prend en charge les formats de fichiers suivants : BMP, GIF, EXIF, JPG, PNG et TIFF. Vous pouvez utiliser l'un des constructeurs Bitmap pour créer des images à partir de fichiers, de flux et d'autres sources, et utiliser la méthode Save pour les enregistrer dans un flux ou un système de fichiers.

Dans le code ci-dessous, la méthode CompressAndSaveImageAsync compresse l'image et l'enregistre dans le chemin mentionné.

Le nouveau nom de l'image sera la combinaison de l'ID utilisateur du bureau et de la dateTime

Exemple

private async Task<string> CompressAndSaveImageAsync(Bitmap inputImage, int quality=50){
   string imageSavedPath = string.Empty;
   try{
      var jpgEncoder = await GetEncoderAsync(ImageFormat.Jpeg);
      var imageEncoder = Encoder.Quality;
      var imageEncoderParameters = new EncoderParameters(1);
      var imageEncoderParameter = new EncoderParameter(imageEncoder, quality);
      imageEncoderParameters.Param[0] = imageEncoderParameter;
      var userId = Regex.Replace(WindowsIdentity.GetCurrent().Name, @"[^0&minus;9a&minus;zA&minus;Z]+", "_");
      var currentDateTime = Regex.Replace(DateTimeOffset.Now.ToString().Split(&#39;+&#39;)[0].Trim(), @"   [^0&minus;9a&minus;zA&minus;Z]+", "_");
      var imageName = $"{userId}_{currentDateTime}.jpg";
      imageSavedPath = "C:\Users\K\Desktop\Questions\Images";
      inputImage.Save(imageSavedPath, jpgEncoder, imageEncoderParameters);
      inputImage.Dispose();
   }
   catch (Exception ex){
      throw
   }
   return imageSavedPath;
}
private async Task<ImageCodecInfo> GetEncoderAsync(ImageFormat format){
   ImageCodecInfo imageCodecInfo = null;
   try{
      var codecs = ImageCodecInfo.GetImageDecoders();
      foreach (var codec in codecs){
         if (codec.FormatID == format.Guid){
            imageCodecInfo = codec;
         }
      }
   }
   catch (Exception ex){
      throw
   }
   return imageCodecInfo;
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal