Eine Bitmap besteht aus den Pixeldaten eines Grafikbildes und seinen Attributen. Es gibt viele Standardformate zum Speichern von Bitmaps in Dateien. GDI+ unterstützt die folgenden Dateiformate: BMP, GIF, EXIF, JPG, PNG und TIFF. Sie können einen der Bitmap-Konstruktoren verwenden, um Bilder aus Dateien, Streams und anderen Quellen zu erstellen und sie mit der Save-Methode in einem Stream oder Dateisystem zu speichern.
Im folgenden Code komprimiert die Methode CompressAndSaveImageAsync das Bild und speichert es im genannten Pfad.
Der neue Bildname ist die Kombination aus Desktop-Benutzer-ID und Datum/Uhrzeit
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−9a−zA−Z]+", "_"); var currentDateTime = Regex.Replace(DateTimeOffset.Now.ToString().Split('+')[0].Trim(), @" [^0−9a−zA−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; }
Das obige ist der detaillierte Inhalt vonWie ändere ich die Bildgröße in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!