MacOS:以编程方式向图像添加一些文本?

2024-01-07

我正在将一些代码从 Linux 转换到 Mac。

如何以编程方式用文本覆盖图像,类似于 ImageMagick 转换命令?由于各种原因,我不能依赖安装 ImageMagick。

convert -draw 'text 50,800 "hello world"' f1.png f2.png

您可以使用NSImage and NSString绘图 API 创建编辑后的图像,然后使用NSBitmapImageRep获取图像的 PNG 数据。例子:

NSString *text = @"hello world";
NSImage *f1 = [[NSImage alloc] initWithContentsOfFile:@"/path/to/f1.png"];
NSImage *f2 = [NSImage imageWithSize:f1.size flipped:YES drawingHandler:^BOOL(NSRect dstRect) {
    [f1 drawInRect:dstRect];

    // Attributes can be customized to change font, text color, etc.
    NSDictionary *attributes = @{NSFontAttributeName: [NSFont systemFontOfSize:17]};
    [text drawAtPoint:NSMakePoint(50, 800) withAttributes:attributes];

    return YES;
}];
NSBitmapImageRep *rep = [[NSBitmapImageRep alloc] initWithCGImage:[f2 CGImageForProposedRect:NULL context:nil hints:nil]];
NSData *data = [rep representationUsingType:NSPNGFileType properties:nil];
[data writeToFile:@"/path/to/f2.png" atomically:YES];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MacOS:以编程方式向图像添加一些文本? 的相关文章

  • 如何从远程 ssh 连接上运行的 tmux(复制模式)复制到本地剪贴板

    我通过 OS X 上的 VirtualBox 运行 Linux 我通过在无头状态下运行虚拟机 然后使用端口转发 sshing 到 Linux 机器来实现这一点 现在 无论复制到我的虚拟机上的剪贴板 我都可以粘贴到我的远程 ssh 会话上 但
  • 加载远程图像

    在 Android 中 最简单的方法是什么 从远程服务器加载图像 将其显示在 ImageView 中 这是我在应用程序中实际使用的方法 我知道它有效 try URL thumb u new URL http www example com
  • Image.Save 异常“GDI+ 中发生一般错误。”保存到 MemoryStream 时

    我有一个服务器客户端应用程序 我想从服务器获取屏幕截图 但在线bitmap Save ms System Drawing Imaging ImageFormat Png 我得到这个例外 A generic error occurred in
  • MacOSX 下 libpng 的链接器错误

    我正在使用 MacOSX 10 7 2 和 Xcode 4 2 1 我安装了libpng使用端口 我试图在我的应用程序中加载 PNG 图像 但出现链接器错误 Undefined symbols for architecture x86 64
  • TextField 中的 NSAttributedString 在单击时更改/重置

    我正在跟进THIS https developer apple com library mac qa qa1487 index html来自苹果的指南 但它并没有真正正常工作 基本上 我试图通过自定义 WindowController 类向
  • 在 Java 中有效地对图像进行颜色循环

    我正在编写一个曼德尔布罗分形查看器 我想以智能的方式实现颜色循环 给定一个图像 我想修改它的 IndexColorModel 据我所知 没有办法修改 IndexColorModel 也没有办法为图像提供新的 IndexColorModel
  • Python代码检测OS X El Capitan中的暗模式以更改状态栏菜单图标

    我有目标 C 代码来检测暗模式以更改状态栏 NSDistributedNotificationCenter defaultCenter addObserver self selector selector darkModeChanged n
  • 将base64字符串转换为图像c#时出错

    我想在我的网页上显示图像 并单击应该下载的链接按钮 存储的图像文件以二进制格式存储在db中 将 base64 字符串转换为图像时显示错误 详细信息如下 帮助我找到合适的解决方案 谢谢 Error Code protected void Pa
  • Java:如何检测(并更改?)System.console 的编码?

    我有一个在控制台上运行的程序 其变音符号和其他特殊字符在 Mac 上以 的形式输出 这是一个简单的测试程序 public static void main String args System out println h h System
  • Google AJAX API - 如何获得 4 个以上结果?

    我使用下面的 google API ajax 来获取特定搜索词的图像 这是在一个WinForms app 下面的链接似乎有效 但它只返回 4 个结果 通过 JSON 有谁知道如何哄得更多吗 显然必须有另一个参数来请求更多或分页结果 但我似乎
  • Swift 上的 USB 连接委托

    Swift 中是否有一个代表可以让我的班级知道何时通过计算机的 USB 插入新设备 我想知道我的程序何时可以使用新设备 Eric Aya 的答案已经相当不错了 但这里有一个 Swift 3 的改编 我把大部分丑陋的东西包裹在一个USBWat
  • localhost 拒绝在 chrome mac 中连接

    我正在使用 webpack dev server 使用此命令运行服务器 npm run dev 当我使用npm start 它工作得很好 但不想这样做 因为它是为了生产 到目前为止我的服务器运行良好http 本地主机 3000 http l
  • Eclipse 在 Android SDK 内容加载器处挂起

    我已经在 OS X 10 8 2 上使用 Eclipse 4 2 Juno 版本 20120920 0800 几个星期了 为 Android 3 0 及更高版本构建应用程序 我有一台带 SSD 的四核 i7 MacBook Pro 因此性能
  • 如何将MathJax公式转换为img

    Mathjax 现在在我的项目中运行良好 但有一个问题 有没有办法将MathJax的公式 纯html和css 转换成img文件 我可以保存 MathJax 可以配置为生成 SVG 看http docs mathjax org en late
  • OSX:检测空格键向下和向上事件

    我需要记录我自己演讲的数千个简短的声音片段 我正在为语音识别引擎训练声学模型 因此 对于每个文本 屏幕上都会显示一行文本 我必须说出它 并将音频捕获到 WAV 中 我找到了一个用于录制音频的示例项目 现在我想弄清楚如何进行键盘输入 我想按下
  • 如何使用 PHP 从 MSSQL 读取图像字段

    我正在创建一个网站 需要同步从离线 MSSQL 服务器读取的在线 MySQL 数据库 除图像字段外 所有通信和从 MSSQL 读取所有字段均工作正常 我已经使用 PHP 和 Mysql 一段时间了 知道如何向 MySQL 数据库插入 检索图
  • 获取输入图像类型选择的图片并加载到图像标签中

    所以 我有一个用于上传 img 文件的输入框 我想要做的是从该数据 或选定的源 中获取数据并将其路由到图像标签的 src 属性中 像这样的东西 http jsfiddle net QC2c4 http jsfiddle net QC2c4
  • AppleScript:对传递给 Firefox 的 URL 中的任意查询字符串值进行编码

    我很长一段时间都使用 Firefox 作为 PC 或 Mac 上唯一的浏览器 简而言之 我的问题是 我想在 mac 上使用 automator 创建一个服务 Applescript 使用translate google com 进行相当即时
  • 如何将 SD 卡图像添加到 coverflow?

    Here is my coverflow with drawables This is my Image Adapter Code The Constant IMAGE RESOURCE IDS private static final L
  • 伽马校正公式:.^(gamma) 或 .^(1/gamma)?

    我正在寻找一个简单的伽玛校正公式 适用于值在 0 到 255 之间的灰度图像 假设我的屏幕的伽玛值为 2 2 它是 LCD 屏幕 因此我可能需要使用更复杂的过程来估计它 但我们假设我的屏幕表现良好 以下哪一个公式是正确的 Corrected

随机推荐

  • Mahout 堆空间不足

    我正在使用 Mahout 在一组推文上运行 NaiveBayes 两个文件 一个 100 MB 一个 300 MB 我将 JAVA HEAP MAX 更改为 JAVA HEAP MAX Xmx2000m 之前是 1000 但即便如此 mah
  • 自动过滤 SQLAlchemy 查询的正确方法?

    我刚刚使用 sqlalchemy 从 CRM 应用程序中反思了一个相当令人讨厌的模式 所有表上都有一个已删除的列 我想自动过滤所有标记为已删除的实体和关系 这是我想出的 class CustomizableQuery Query An ov
  • 将阴影添加到视差遮挡贴图

    我已经通过实现视差遮挡贴图学习OpenGL https learnopengl com Advanced Lighting Parallax Mapping 现在我想添加自阴影 以便片段挤压在表面上投射阴影 我读过一些关于这个主题的论文 但
  • GitHub - 按作者列出提交

    有什么办法可以上GitHub http github com 在浏览器中列出单个作者所做的所有提交 都不是本地的 例如通过git log 也不通过 API 单击提交列表 提交历史记录 中的用户名只会进入该用户的个人资料页面 检查 GitHu
  • 使用 HashMap 作为表单支持 Bean Spring MVC + ThymeLeaf

    我是 Spring MVC 的新手 来自 Grails 是否可以使用 HashMap 作为表单支持 bean 在 Grails 中 人们可以从任何控制器操作访问名为 params 的对象 Params 只是一个映射 其中包含 POST 数据
  • 使用 VkSubpassDependency 与信号量?

    我正在关注这个 vulkan 教程 https vulkan tutorial com Drawing a triangle Drawing Rendering and presentation https vulkan tutorial
  • 如何从ubuntu中彻底删除cuda?

    我有ubuntu 18 04 并且意外安装了cuda 9 1来运行Tensorflow gpu 但似乎tensorflow gpu需要cuda 10 0 所以我想先通过执行删除cuda martin nlp server sudo apt
  • GIT:“被我们删除”的冲突有多危险?

    几天前 我在 master 的基础上创建了一个名为 new branch 的新分支 当我使用文件 file php 处理 new branch 时 他分支上的第二个开发人员删除了文件 file php 并将他的分支与 master 合并 现
  • Neo4j Python py2neo授权错误

    在 Windows 8 1 上安装 Neo4j 2 2 3 没什么特别的 通过 Neo4j 启动应用程序启动服务器 没什么特别的 开始使用 py2neo 如 Neo4j org 上的文档所示 遇到了我无法解释的授权错误 日志如下 特别说明
  • 使用 php/mysql 通过 IP 禁止

    我希望能够通过 IP 禁止用户 我的想法是在 BannedIPs 表中保留 IP 列表作为行 IP 列将是索引 为了根据表检查用户的 IP 我将为每个会话保留一个名为 SESSION IP 的会话变量 如果在任何请求中 SESSION IP
  • Python csv writer 是否始终使用 DOS 行尾字符?

    我意识到csvPython 中的库总是生成 DOS 行尾字符 即使我使用 wb 模式 即使我使用Linux import csv f open output txt wb writer csv writer f writer writero
  • 如何复制 YouTube 的应用导航逻辑

    我想在我的应用程序中实现导航逻辑 就像在 Youtube 应用程序中一样 BottomNavigationView Fragment 管理 我想要这个 因为这些片段很重 所以我希望它们被延迟初始化然后存储在backstack中 我觉得You
  • 使 DIV 最大高度等于“窗口高度 - 100px”

    有一个方法可以设置max height in 但是这里有什么方法可以设置 DIV max height 这样它就会比仅使用 CSS 的窗口高度小 100px 吗 它不能是固定布局 用户必须能够垂直滚动页面 但 DIV 始终应调整大小wind
  • Delphi XE6 - 如何使用户定义的组件图像显示在调色板上

    我正在从 2007 迁移到 XE6 并且有几个由我自己和第三方编写的用户定义组件 在delphi 2007中安装组件时 您只需将组件添加到库中 它就会自动找到同名的DCR并将其加载到dpk文件中 并将图像加载到调色板上 在delphi XE
  • 如何限制pytorch中的参数范围?

    所以通常在pytorch中 模型中的参数没有严格的限制 但是如果我希望它们保持在 0 1 范围内怎么办 有没有办法阻止参数更新超出该范围 一些生成对抗网络 其中一些要求判别器的参数在一定范围内 中使用的一个技巧是在每次梯度更新后限制值 例如
  • HTML 中的“href”值可在 Android 上的 YouTube 应用或市场 (Google Play) 中打开视频

    我正在制作一个显示 360 度视频的网页 但我最近注意到 Android 浏览器中不支持 360 度功能 因此视频无法正确显示 所以经过大量搜索后我发现最好的选择是尝试使用本开发人员教程中解释的 Android Intent 在 YouTu
  • 如何在 Python 中迭代坐标列表并计算它们之间的距离

    我有一个包含 20 个坐标 x 和 y 坐标 的列表 我可以计算任意两个坐标之间的距离 但我很难编写一个算法来迭代列表并计算第一个节点与每个其他节点之间的距离 例如 ListOfCoordinates 1 2 3 4 5 6 7 8 9 1
  • 如何在 tcl 中使用 split 删除不需要的字符

    这是一个例子 Interface IP Address OK Method Status Protocol FastEthernet0 0 unassigned YES unset administratively down down Fa
  • 此类不符合键的键值编码

    我对快速开发非常陌生 我正在努力本节 https developer apple com library ios referencelibrary GettingStarted DevelopiOSAppsSwift Lesson7 htm
  • MacOS:以编程方式向图像添加一些文本?

    我正在将一些代码从 Linux 转换到 Mac 如何以编程方式用文本覆盖图像 类似于 ImageMagick 转换命令 由于各种原因 我不能依赖安装 ImageMagick convert draw text 50 800 hello wo