Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengubah saiz imej dalam C#?

Bagaimana untuk mengubah saiz imej dalam C#?

WBOY
WBOYke hadapan
2023-09-18 18:41:021428semak imbas

C# 如何调整图像大小?

Peta bit terdiri daripada data piksel imej grafik dan atributnya. Terdapat banyak format standard untuk menyimpan bitmap ke fail. GDI+ menyokong format fail berikut: BMP, GIF, EXIF, JPG, PNG dan TIFF. Anda boleh menggunakan salah satu daripada pembina Bitmap untuk mencipta imej daripada fail, strim dan sumber lain dan menggunakan kaedah Simpan untuk menyimpannya ke strim atau sistem fail.

Dalam kod di bawah kaedah CompressAndSaveImageAsync memampatkan imej dan menyimpannya dalam laluan yang disebutkan.

Nama imej baharu ialah gabungan id pengguna desktop dan dateTime

Contoh

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;
}

Atas ialah kandungan terperinci Bagaimana untuk mengubah saiz imej dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Jenis antara muka C#Artikel seterusnya:Jenis antara muka C#