使用位图的保存方法覆盖图像

2024-05-03

我有一个 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);
        }

如果我注释为目标文件创建新名称的第一行,它将不起作用,否则它将起作用。但我想要同名。我怎样才能做到这一点?


如果您使用以下行中的技术加载图像

 Image imgPhoto = Image.FromFile("myphoto.jpg");

那么这会使该文件的句柄保持打开状态,因此当您尝试覆盖它时,该文件当前仍在使用中,因此您无法写入它。

为了解决这个问题,如果将文件加载到流中,则可以覆盖原始文件,因为图像信息已写入内存,文件句柄已被释放。

您可以通过以下方式执行此操作:

FileStream fs = new FileStream("myphoto.jpg", FileMode.Open);
Image imgPhoto = Image.FromStream(fs);
fs.Close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用位图的保存方法覆盖图像 的相关文章

随机推荐

  • Python 函数前的星号[重复]

    这个问题在这里已经有答案了 我正在关注这个教程 http www pyimagesearch com 2015 04 20 sorting contours using python and opencv comment 405768 ht
  • 检测 iPhone 上的长按

    我正在开发一个 iPhone 应用程序 它要求我检查是否已点击按钮并按住 6 秒 然后触发一个播放某种声音的动作 我应该如何检测这个 6 秒的点击 另一方面 用户还可以持续点击按钮 6 秒 然后会触发相同的操作 我应该如何处理多次点击 我怎
  • 如何按层次结构对文件路径名进行排序?

    我想按层次结构对文件名进行排序 假设我有以下文件夹列表 D Movies Hollywood Comedy adultcomedy D Movies Hollywood Comedy horrorcomedy D Movies Hollyw
  • 将图像从 Android 上传到 GCS

    我正在尝试将图像从 Android 直接上传到 Google 云存储 但API似乎不起作用 他们有一些与 App 引擎相关的 Java 示例 我没有看到任何被证明可以在 Android 上运行的示例 在 Android 上 我尝试使用 js
  • 从 SpringBoot 项目中的属性文件获取 Maven basedir

    我继承的Maven项目有一些JUnits中使用的资源文件 这些文件在属性文件中被称为绝对路径 我们假设 Maven 项目位于myproject 其中主要pom xml居住 A config properties文件有 keystore fi
  • 如何检测媒体是否已插入可移动驱动器/读卡器

    我有一个读卡器 未插入记忆棒 当我插入计算机时 它在 我的电脑 中显示一个空驱动器 是否有可能知道驱动器是否有媒体 抱歉我不知道如何称呼它 或没有 我找到的建议MSalters to use IOCTL STORAGE CHECK VERI
  • 如何将值从 javascript 传递到 php 文件

    我通过以下方式获取价值JQuery像这样的东西 var query popURL split var dim query 1 split var popWidth dim 0 split 1 Gets the first query str
  • 使用 UIActivityViewController 分享视频

    我正在尝试使用默认的苹果共享屏幕将视频分享到 Twitter 和 Facebook 等 我已经让它与图像一起使用 但我不知道如何更改它以与视频一起使用 提前致谢 这是我用来分享照片的代码 IBAction shareButtonPresse
  • WIX MSI 软件包卸载

    我正在使用 WIX 作为安装程序包 当我通过双击原始 msi 包卸载该包时 一切都很好 当我从控制面板卸载时 它会给我一个最小的用户界面卸载 我已在 MSI 中写入一个自定义操作 询问用户是否要卸载某些数据库等 最小 UI 卸载时不会发生这
  • 在 phpstorm 中使用远程服务器 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我目前使用 Komodo 并直接在远程服务器上工作 我刚刚发现了 phpstorm 我想开始尝试一下 我的问题是 如何像科莫多那样在远
  • 在react-query中使用(isLoading或isFetching)的原因

    我是一个使用react的用户 我在使用react query时没有很好地使用isloading函数 在ui方面 我认为正在加载用于向用户显示加载屏幕 我认为我不必显示加载 因为数据获取速度很快 但突然 我想到了这个想法 如果你把 props
  • Selenium RC:如何检查元素是否具有给定属性?

    我有一些带有onclick属性和一些没有属性 我想检查指定的元素是否具有onclick属性 我怎样才能做到这一点 getAttribute 当有属性值时返回该属性值 如果没有 它会抛出 RuntimeException 并停止测试 即使我将
  • Owncloud上传文件到特定文件夹-curl

    我想通过我自己的云服务器上的特定文件夹中的curl上传文件 例如 http www myowncloudserver com remote php webdav MY FOLDER 目前我无法将文件上传到我自己的云服务器上的文件夹 有任何想
  • ASP.NET 列表视图->单击行->执行操作

    我需要以下方面的帮助 我有一个用隐藏代码填充的列表视图 Linq gt Sql ListView1 DataSource from x in database ITEMS select x ListView1 DataBind 项目内容 I
  • Python打开Microsoft SQL Server MDF文件

    如何在 Python 中打开 Microsoft SQL Server MDF 文件 Edit 我试过了pyodbc connect但这需要合法的 服务器连接 您不能简单地打开 MDF 文件 pyodbc connect driver SQ
  • 如何在 C# 中的 HttpClient 中使用凭据?

    我在使用 HttpClient 类访问 Delicious API 时遇到一些问题 我有以下代码 try const string uriSources https api del icio us v1 tags bundles all p
  • ASP.Net Core,检测控制器中的调试与不调试

    我正在编写我的第一个 ASP Net 代码 Web 应用程序 在我的控制器中我希望有一个if检查我是否处于调试模式的语句 我知道在 Startup cs 文件中我可以检查env IsDevelopment 但那是因为IHostingEnvi
  • 多维数组到数据框

    R 中的以下问题对你们中的许多人来说可能看起来很简单 但由于我对此相对较新 如果您能帮助我 那将非常有帮助 我想本质上编写一个多维 3 个维度 数组作为我可以更轻松地操作的数据框 我正在处理 1891 年 1 月 1 日至 2015 年 1
  • 使用 Google App Engine 和 ndb 时是否见过重复的 ID?

    class Entries ndb Model description ndb StringProperty seqid ndb IntegerProperty link ndb StringProperty group ndb Strin
  • 使用位图的保存方法覆盖图像

    我有一个 ASP NET C 页面 我正在其中调整文件夹中图像的大小 我正在使用 GDI 来执行此操作 我想调整图像大小并替换为旧图像 因此 当我尝试使用现有名称保存时 Save 方法会抛出错误 但如果我给出不同的名称 它就会被保存 但我希