asp.net – C#:GDI:使用位图的保存方法过度写入图像
发布时间:2020-12-16 04:24:01 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET C#页面,我正在调整文件夹中的图像.我正在使用GDI来执行此操作.我想调整图像大小并替换旧图像.所以当我尝试使用现有名称保存时,Save方法抛出错误.但是如果我给出一个不同的名称它就会被保存.但是我想为新创建的已调整大小的图像使用相同的文
我有一个ASP.NET C#页面,我正在调整文件夹中的图像.我正在使用GDI来执行此操作.我想调整图像大小并替换旧图像.所以当我尝试使用现有名称保存时,Save方法抛出错误.但是如果我给出一个不同的名称它就会被保存.但是我想为新创建的已调整大小的图像使用相同的文件名,因为我需要用调整大小的新文件覆盖现有文件.任何想法如何继续前进.
我的代码是 oldImagePath= oldImagePath.Replace(".jpg","NEW.jpg"); try { ImageCodecInfo[] Info = ImageCodecInfo.GetImageEncoders(); EncoderParameters Params = new EncoderParameters(1); Params.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality,100L); target.Save(oldImagePath,Info[1],Params); } 如果我评论第一行为目标文件创建一个新名称,IT将无法正常工作.其他人会想到它.但我想拥有相同的名称.任何想法? ?提前致谢 解决方法
您需要先删除原始文件.区分是非常重要的 – 当您在.NET中使用图像处理时,您正在使用内存中的对象,其字节通过读取原始图像来填充.您没有使用实际的原始图像.因此,当您去保存这个全新的对象(恰好使用现有图像中的数据),并尝试使用已经在使用的路径时,您将获得异常.
您还需要确保此时原始文件仍未打开;确保丢弃用于填充您正在操作的Image对象的原始文件流.然后删除,然后保存. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 包中的文件排序 – 已知的库是什么?
- ASP.NET Core 2.0 Razor vs Angular/React/etc.
- asp.net – 防止在ASP .Net中为单个用户进行多次登录
- asp.net-mvc – 使用IoC,可以向Singleton注入具有Transient
- asp.net – 以编程方式将Textbox TemplateField列添加到Gri
- asp.net – 是否可以强制WebControl呈现为而不是?
- asp.net-mvc-3 – TextBoxFor vs EditorFor,和htmlAttribut
- asp.net-mvc – 从MVC5框架OAuth/OWin身份提供程序与外部au
- Azure Apps EasyAuth声称使用.NET Core
- 我应该如何组织我的ASP.Net主题和常见的CSS文件
推荐文章
站长推荐
- 是否可以从ASP.NET Web服务方法手动将HTTP代码40
- asp.net – Oracle padding exploit – 如何下载
- 从数据到代码——基于T4的代码生成方式
- asp.net – 自定义主体在新请求时恢复为GenericP
- asp.net-mvc – 当前上下文中不存在’HttpClient
- asp.net-mvc – 上传文件:MemoryStream与文件系
- 实体框架4 – ASP.NET MVC 3应用程序使用Ninject
- asp.net-web-api – HttpClient不报告从Web API返
- asp.net – 通过http将数据从服务器推送到浏览器
- asp.net-mvc – Owin如何在Application_EndReque
热点阅读