将 tiff 像素长宽比更改为正方形

2024-04-29

我正在尝试对多页 tiff 文件执行条形码识别。但是 tiff 文件是从传真服务器(我无法控制)发送给我的,该服务器以非方形像素长宽比保存 tiff。这导致图像由于纵横比而被严重挤压。我需要将 tiff 转换为方形像素长宽比,但不知道如何在 C# 中执行此操作。我还需要拉伸图像,以便更改纵横比仍然使图像清晰可见。

有人用 C# 做过这个吗?或者有人使用过可以执行此类过程的图像库吗?


如果其他人遇到同样的问题,这是我最终解决这个恼人问题的超级简单方法。

using System.Drawing;
using System.Drawing.Imaging;

// The memoryStream contains multi-page TIFF with different
// variable pixel aspect ratios.
using (Image img = Image.FromStream(memoryStream)) {
    Guid id = img.FrameDimensionsList[0];
    FrameDimension dimension = new FrameDimension(id);
    int totalFrame = img.GetFrameCount(dimension);
    for (int i = 0; i < totalFrame; i++) {
        img.SelectActiveFrame(dimension, i);

        // Faxed documents will have an non-square pixel aspect ratio.
        // If this is the case,adjust the height so that the
        // resulting pixels are square.
        int width = img.Width;
        int height = img.Height;
        if (img.VerticalResolution < img.HorizontalResolution) {
            height = (int)(height * img.HorizontalResolution / img.VerticalResolution);
        }

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

将 tiff 像素长宽比更改为正方形 的相关文章

  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 按成员序列化

    我已经实现了template
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • 重载<<的返回值

    include
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查

随机推荐

  • 如何防止LRU缓存android中的内存不足错误

    我在我的 Android 应用程序中使用内存 LRU 缓存来缓存位图 但是在将某些位图加载到 LRU 映射中后 应用程序强制关闭并提示内存不足异常 我花了一整天的时间 但还没有找到解决方案 请任何人都可以帮助我 我严重陷入这个问题 提前致谢
  • 使 .jmx 文件在 Windows 10 上使用 jmeter GUI 默认打开(双击文件)

    当我双击它时 我试图让我的 Windows 10 使用 jmeter GUI 打开 jmx 文件 我使用 apache jmeter 3 2 目前 为了打开 jmx 文件 我打开 jmeter jar apache jmeter 3 2 b
  • OledbConnection.Dispose() 是否关闭连接? [复制]

    这个问题在这里已经有答案了 可能的重复 如果使用 using 子句 是否需要关闭 DbConnection https stackoverflow com questions 12033998 is there any need to cl
  • JavaScript 节点列表

    有没有办法连接 2 个 document getElementsByTagName 调用返回的 2 个 NodeList 比如说 我有以下代码 var inputs documentElement getElementsByTagName
  • 上传文件最安全的方法是什么?

    我工作的公司最近在我们托管的网站上遭受了许多标头注入和文件上传漏洞攻击 虽然我们已经解决了标头注入攻击的问题 但我们尚未控制上传漏洞 我正在尝试设置一系列即插即用类型的上传脚本以供内部使用 设计人员可以将其复制到其网站的结构中 修改一些变量
  • ViewPager 中的 PagerTabStrip 位置

    我有以下代码
  • 当节点扩展时增加d3中的连接链路长度

    我正在 d3 中研究可折叠力布局 我面临的问题是 当单击节点时 我需要增加节点之间链接的长度 以保持子节点之间的链接距离相同 当分析扩展时 如何增加分析和耀斑之间的距离 保持与子级的距离较小 是的 您可以通过定义一个函数来做到这一点力 链接
  • 如何设置该正则表达式的最大长度?

    此验证对于允许字母数字字符 空格和破折号非常有效 但我无法将最大长度设置为 23 正则表达式 w s s w s w 0 23 我需要通过的案例 温斯顿1 塞勒姆6 温斯顿塞勒姆 温斯顿塞勒姆 1 two3 带空格的word2 我需要失败的
  • 如何使用 GWT 2.4 在服务器端动态创建 UI

    我正在尝试使用 Google Web Toolkit v2 4 创建用户界面 由于多种原因 我需要在运行时指定服务器上接口的内容 我的意思不仅仅是按钮需要动态标签等 而是整个 UI 需要在运行时创建 我的大部分 UI 都可以指定为直接的 H
  • Phonegap - 自动包含正确的科尔多瓦

    我正在 iOS 和 Android 上开发一个 PhoneGap 应用程序 并使用 git 控制我的 www 目录版本 我知道我的 HTML 文件需要包含正确的 Cordova js 文件 取决于我当前正在开发的平台 当有人在 Androi
  • MDI 窗体中的子窗口对接

    我有一个 MDI 表单和其中的一些子表单 我将子窗体停靠到 MDI 窗口的不同区域 但是当任何子窗体失去焦点时 其他停靠的窗体将重新排列 由于混乱 我准备了一组图像来展示该行为 Image1 单击任何窗口之前 Image2 点击窗口2后 问
  • Google Map API V3 - 单击标记以叠加形式显示更多信息内容(如 Google 地图中一样)

    我们使用 Google Map Api V3 在 HTML 容器中加载 google 地图 我们有一个位置搜索表格 提交后 我们将获取可用位置并在地图中设置标记 加载标记后 单击每个标记时我们需要显示标题 地址详细信息和设计 就像我们在谷歌
  • 在CKEditor中,如何向按钮添加“文本”标签?

    editor ui addButton ImageUpload label Upload Image command popup image uploader icon this path images icon png 这就是我现在的代码
  • 使用 Vuex 更新数组中的对象[重复]

    这个问题在这里已经有答案了 如何使用 Vuex 更新数组内的对象 我尝试了这个 但没有成功 const state categories mutations mutationType UPDATE CATEGORY state id cat
  • 当用户滚动经过页面的特定部分时,jQuery 触发操作

    大家好 我需要一个 jQuery 操作来在用户滚动经过页面上的某些位置时触发 这对于 jQuery 来说是可能的吗 我查看了 jQuery API 中的 scroll 我认为这不是我需要的 每次用户滚动时它都会触发 但我需要它在用户经过某个
  • 引用计数类和多线程

    我是多线程编程的新手 对此我仍然感到困惑 下面是我的引用计数类 class Rbuffer private char m pnData volatile unsigned int mRefCount public Rbuffer int n
  • Twitter Bootstrap - 动态添加/删除选项卡和选项卡内容

    预先感谢您的任何和所有输入 帮助 建议 我正在使用 Twitter Bootstrap 选项卡来组织一些信息 这些选项卡将位于表单页面上 每个选项卡将包含一个 联系人表单 用户可以在提交整个表单之前将多个联系人添加到此页面 div clas
  • ASP.Net Core 中没有智能感知

    通过 Visual Studio 安装 ASP Net Core gt 新项目 gt Web gt ASP Net Web 应用程序 gt 确定 gt ASP Net 5 模板 安装后重新启动系统 然后创建一个新项目ASP NET 5 Te
  • 用 Ruby 或 Python 解析 SVG 的库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVG 是一个庞大的标准 它基于 XML 我过去曾将 SVG 解析为 XML 然而 有些事情很难 例如
  • 将 tiff 像素长宽比更改为正方形

    我正在尝试对多页 tiff 文件执行条形码识别 但是 tiff 文件是从传真服务器 我无法控制 发送给我的 该服务器以非方形像素长宽比保存 tiff 这导致图像由于纵横比而被严重挤压 我需要将 tiff 转换为方形像素长宽比 但不知道如何在