.NET - 调整图像大小的边框

2024-03-15

我正在尝试在 .NET 中调整图像大小,但调整大小后的图像周围出现微弱的黑色边框。我找到了一个帖子——http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/cf765094-c8c1-4991-a1f3-cecdbd07ee15/ http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/cf765094-c8c1-4991-a1f3-cecdbd07ee15/有人说使目标矩形大于画布是有效的,但这对我不起作用。它去掉了顶部和左侧边框,但右侧和底部仍然存在,并且是全 1px 厚的黑色。

我错过了什么吗?我的代码如下。

Image image = ... // this is a valid image loaded from the source
Rectangle srcRectangle = new Rectangle(0,0,width, height);
        Size croppedFullSize = new Size(width+3,height+3);
        Rectangle destRect = new Rectangle(new Point(-1,-1), croppedFullSize);
        using(Bitmap newImage = new Bitmap(croppedFullSize.Width, croppedFullSize.Height, format))
        using(Graphics Canvas = Graphics.FromImage(newImage)) {
            Canvas.SmoothingMode = SmoothingMode.AntiAlias;
            Canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            Canvas.PixelOffsetMode = PixelOffsetMode.HighQuality;
            Canvas.FillRectangle(Brushes.Transparent, destRect);
            Canvas.DrawImage(image, destRect, srcRectangle, GraphicsUnit.Pixel);


            newImage.Save(filename, image.RawFormat);
        }

只需向 DrawImage 方法提供一个 ImageAttributes 实例,并将 WrapMode 设置为 TileFlipXY。这将防止边缘与背景颜色混合。

对于不会像此处其他答案那样泄漏内存的示例代码,看到这个要点 https://github.com/imazen/lightresize

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

.NET - 调整图像大小的边框 的相关文章

随机推荐

  • 不使用 EOF 位作为我们的流提取条件的真正原因是什么?

    Inspired by my previous question https stackoverflow com q 14591203 150634 新 C 程序员的一个常见错误是从文件中读取以下内容 std ifstream file f
  • Jquery中的asp标签文本更改事件

    当asp标签的值发生变化时如何触发jquery方法 我已经尝试过这个 但它不起作用 lbladdsupplier change function alert Changed The change仅当表单元素值更改时才会触发事件 在这种情况下
  • 用于编码 RGB 值的位移位和按位运算

    我想将 RGB 颜色编码为单个整数值 假设编码算法如下 int code blue 256 256 green 256 red 如何使用位移位和 或按位运算符对 RGB 分量进行编码 解码 int blueMask 0xFF0000 gre
  • 使用 pandas 从每组中随机选择一行

    我有一个熊猫数据框df显示如下 Month Day mnthShape 1 1 1 016754224 1 1 1 099451003 1 1 0 963911929 1 2 1 016754224 1 1 1 099451003 1 2
  • 将 SPSS 元数据变量标签、值标签、数据类型等导出到自定义文本文件

    我们有一个很大的 SPSS 文件 大小为 5MB 包含大约 1400 个变量 我们正在将所有内容迁移到数据库 为了配置表格和表单等 我们需要 SPSS 文件中的元数据 但采用特定的自定义格式 所以如果变量视图是这样的 Name Label
  • 如何配置 Sphinx 有条件地排除某些页面?

    使用 Sphinx 生成文档时 我希望能够生成文档的两个版本 一个包含所有内容 另一个仅包含一组特定的页面 实现这一目标的最佳方法是什么 我可以编写一个构建脚本来移动文件来实现此目的 但如果有一种方法可以告诉 sphinx 在特定构建期间排
  • 更改密码后显示消息吗?

    我正在使用默认更改密码机制 https docs djangoproject com en dev topics auth django contrib auth views password change由 django 提供 我在用着p
  • 结账开始观察者

    Magento 中是否有观察者来检测结帐过程的开始 这将包括点击页面checkout onepage or checkout onestepcheckout 如果可能的话 我想避免覆盖控制器 每个控制器操作都会导致多个目标事件被触发Mage
  • ajax 问题 - firebug 中的 200 OK 但没有响应正文的红色消息

    据我所知 我有与跨域相关的 ajax 小问题 在本地机器上我用一些ajax创建了html示例 在注册文本字段中 用户输入 用户名 每次击键时 ajax 都会将其发送到 本地 Tomcat servlet 检查该用户名是否已被使用 并发回 已
  • TypeError;Article.find() 不是 Sails.js 中的函数

    我正在使用 sails js 并收到错误 Articles find is not a function 以下是datastore js mongodb adapter require sails mongo url mongodb loc
  • 如何对没有分支文件夹的 TFS Team 项目进行分支

    我有一个这样的团队项目 DefaultCollection Project 1 Project 2 Project 3 Somefile txt Somefile2 doc 所有文件和项目都位于团队项目的根目录中 我没有 主干 和 分支 文
  • 使用 WordPress 高级自定义字段时“url”的字符串偏移量非法

    我正在将 Bootstrap 模板转换为 WordPress 主题 对于自定义字段 我正在使用该插件高级自定义字段 https wordpress org plugins advanced custom fields 问题是当我尝试在以下命
  • 使用多个 OR || 简化 IF 语句相同变量的条件

    这是我的代码 var something four if something one something two something three something five something six something seven do
  • 使用@staticmethod 有什么好处吗?

    我想知道您是否在代码中使用 staticmethod 装饰器 就我个人而言 我不使用它 因为写 staticmethod 比写 self 需要更多的字母 使用它的唯一好处 对我来说 可能是代码更加清晰 但由于我通常为 sphinx 编写方法
  • C++ 程序无法使用 Clang 和 Visual Studio 2010 Express 进行编译

    我正在尝试使用 Visual C 2010 Express 编译本教程中所述的源代码 http kevinaboos wordpress com 2013 07 23 clang tutorial part ii libtooling ex
  • 如何以编程方式找出机器的上次登录时间?

    我想 a 以编程方式和 b 远程查找用户成功登录 Windows 计算机的最后日期 时间 通过远程桌面或控制台 我愿意采用任何典型的 Windows 语言 C C VB 批处理文件 JScript 等 但任何解决方案都很好 尝试这个 pub
  • 将朴素贝叶斯训练分类器保存在 NLTK 中

    我对如何保存经过训练的分类器有点困惑 例如 每次我想使用分类器时重新训练它显然非常糟糕且缓慢 我如何保存它并在需要时再次加载它 代码如下 提前感谢您的帮助 我正在使用 Python 和 NLTK 朴素贝叶斯分类器 classifier nl
  • 为什么说C++不支持参数多态?

    根据维基百科页面参数多态性 https en wikipedia org wiki Parametric polymorphism 类型多态性的一些实现表面上与参数多态性相似 同时也引入了特殊方面 C 模板专门化就是一个例子 问题 为什么说
  • 哪些 UNIX 命令支持彩色输出?

    我喜欢使用支持彩色输出的 UNIX bash 命令 因此 我定义了一些别名 它们自动启用我知道支持此选项的命令的彩色输出 但是 我确信有数百个命令支持彩色输出 我想知道它们是什么 我的那些 bash aliases文件是 ls color
  • .NET - 调整图像大小的边框

    我正在尝试在 NET 中调整图像大小 但调整大小后的图像周围出现微弱的黑色边框 我找到了一个帖子 http social msdn microsoft com forums en US csharpgeneral thread cf7650