位图由图形图像的像素数据及其属性组成。有许多标准格式可将位图保存到文件中。 gdi+ 支持以下文件格式:bmp、gif、exif、jpg、png 和 tiff。您可以使用 bitmap 构造函数之一从文件、流和其他源创建图像,并使用 save 方法将它们保存到流或文件系统。
在下面的代码中 compressandsaveimageasync 方法 压缩图像并保存在提到的路径中。
新图像名称将是桌面 userid 和 datetime 的组合
示例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;}
以上就是c# 如何调整图像大小?的详细内容。