在图像上绘制文本

2023-11-25

我以前从未接触过绘画,所以遇到了一些问题。我似乎无法让这段代码的输出工作。

文件正在保存,但未在文本上绘制。谁能看到我可能做错了什么?

编辑:一个愚蠢的错误 - 图像的背景是白色的(画笔颜色是!)。然而,正如我所期望的那样,文本并未居中。有什么想法为什么这样吗? :)

编辑:图片如下。

enter image description here

Thanks

Bitmap myBitmap = new Bitmap(@"C:\Users\Scott\desktop\blank.bmp");
Graphics g = Graphics.FromImage(myBitmap);

g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
g.DrawString("My\nText", 
             new Font("Tahoma", 20), 
             Brushes.White, 
             new PointF(0, 0));

StringFormat strFormat = new StringFormat();
strFormat.Alignment = StringAlignment.Center;
strFormat.LineAlignment = StringAlignment.Center;

g.DrawString("My\nText", 
             new Font("Tahoma", 20), Brushes.White, 
             new RectangleF(0, 0, 500, 500), 
             strFormat);
myBitmap.Save(@"C:\Users\Scott\desktop\blank1.bmp");

我确信您可能正在寻找这个。

rectf = new RectangleF(655, 460, 535, 90); //rectf for My Text
using(Graphics g = Graphics.FromImage(myBitmap))
{
    //g.DrawRectangle(new Pen(Color.Red, 2), 655, 460, 535, 90); 
    g.SmoothingMode = SmoothingMode.AntiAlias;
    g.InterpolationMode = InterpolationMode.HighQualityBicubic;
    g.PixelOffsetMode = PixelOffsetMode.HighQuality;
    StringFormat sf = new StringFormat();
    sf.Alignment = StringAlignment.Center;
    sf.LineAlignment = StringAlignment.Center;
    g.DrawString("My\nText", new System.Drawing.Font("Tahoma", 32, FontStyle.Bold), Brushes.Black, rectf, sf);
}

//g.DrawRectangle(new Pen(Color.Red, 2), 655, 460, 535, 90);线条用于显示文本将写入的位置。因此,在实际制作文本之前,您可以看到该矩形将在图像上的位置创建。如果你想要图像的中心,你可以找到高度和宽度,然后除以 2 来找到图像的中心,然后可以相应地绘制矩形参数。

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

在图像上绘制文本 的相关文章

随机推荐

  • 通过 php 更新 Facebook 状态

    我想开发一个机器人 它将使用 php 更新 Facebook 帐户的状态 请在这方面指导我 Porchop 是正确的 您可能需要 Facebook Connect API 要更新 Facebook 上的用户状态 您应该查看状态集API 调用
  • 与 Cisco 路由器的持久 ssh 会话

    我在此站点和多个其他位置进行了搜索 但无法解决在一个命令后连接和维护 ssh 会话的问题 下面是我当前的代码 opt local bin python import os import pexpect import paramiko imp
  • 如何从相同的输入类型上传文件夹和文件?

    我使用的表单可以同时上传文件或完整文件夹 我正在使用以下代码
  • 标准 C++11 中的 IEEE 754 总阶

    根据IEEE 浮点维基页面 在 IEEE 754 上 有一个总订单在双精度浮点上 即C 11具有 IEEE 754 浮点数的实现 例如 Linux x86 64 上的 gcc 4 8 当然 operator lt on double通常提供
  • 如何从 svn diff 中排除某些文件?

    我在用着svn diff c 789显示我们软件版本 789 中所做的更改 但它显示了很多我不关心的文件 特别是测试文件 如何从差异中排除某些文件 例如与模式匹配的所有文件 Test java 我在 Windows 上使用 Cygwin 如
  • 微信Api无法设置应用图标

    在注册 iOS 应用程序时 我一直在努力将水印和高分辨率的图标图像上传到微信 api 结果如下 检查这里的网站 http developers wechat com 我尝试了不同的方法来上传28 28 png透明或不透明和灰度 这真的很烦人
  • 学校考勤系统数据库设计

    我正在为一所学校开展一个项目 其中一个特定模块涉及考勤系统 我正在使用 LAMP PHP 5 2 MYSQL 5 堆栈进行开发 现在学校人数约为1500人 每年总工作日约为250天 另外 我必须保留记录5年才能删除 表结构是 student
  • 在 ggplot2 中的轴刻度上显示两个测量单位

    如何在 ggplot2 中的轴刻度上显示两个替代单位 如果有的话 我想要实现的是这样的 这是一种巧妙的方法 d data frame x 1 20 y rnorm 20 5 5 ggplot data d aes x x y y scale
  • 将我的应用程序提交到 TestFlight 后出现问题

    我们发现您最近交付的 AppName 存在一个或多个问题 要处理您的交货 必须纠正以下问题 无效捆绑包 您的应用程序引用的一个或多个动态库不存在于 dylib 搜索路径中 纠正这些问题后 您可以重新交付纠正后的二进制文件 Regards 应
  • 如何将 stderr 和 stdout 重定向到脚本中同一行中的不同文件?

    我知道的就这么多 command 2 gt gt error command 1 gt gt output 有什么方法可以将 stderr 输出到错误文件并将 stdout 输出到 bash 同一行的输出文件吗 只需将它们添加到一行中即可c
  • 阿拉伯语:“源”Unicode 到最终显示 Unicode

    简单的问题 这是我正在寻找的最终显示字符串 现在下面是每个单独的字符 然后被 粘合 在一起 所以我在每个字符之间留了一个空格以阻止连接 请注意它们不是相同的字符 有一些神奇的转换可以将它们融合在一起并将它们转换为新的 Unicode 字符
  • Python 中 statsmodels 中的 ADF 测试

    我正在尝试运行增强迪基富勒测试statsmodels在Python中 但我似乎遗漏了一些东西 这是我正在尝试的代码 import numpy as np import statsmodels tsa stattools as ts x np
  • `gsutil cp` 命令抛出“OSError:文件名、目录名或卷标语法不正确”

    我已经按照gsutil 安装指南按照 Google Cloud 说明进行操作 我已经更新了 GCloud 组件到最新版本 我最近刚刚安装并配置了 GCloud 以使用我的凭据和项目 首先 我使用以下命令从我的数据库中导出我需要的单个集合火库
  • Spark 作业在显示所有作业已完成后重新启动,然后失败(TimeoutException:Futures 在 [300 秒] 后超时)

    I m running a spark job It shows that all of the jobs were completed 然而几分钟后 整个作业重新启动 这次它将显示所有作业和任务也已完成 但几分钟后它将失败 我在日志中发现
  • 使用 UIViewControllerContextTransitioning “从视图控制器”消失

    我遇到了一个问题 我在下面进行了描述 我在用UIViewControllerContextTransitioning用于自定义过渡 我有 2 个视图控制器 第一个视图控制器和第二个视图控制器 现在我想在第一个视图控制器上添加第二个视图控制器
  • 在 Spring Boot 中自动装配参数化构造函数

    我无法在参数化构造函数中传递值时自动装配 bean 如何使用Spring Boot调用参数化构造函数 Component public class MainClass public void someTask AnotherClass ob
  • pySerial - 有没有办法同时选择多个端口?

    我正在开发需要与许多串行端口通信的应用程序 我还没有找到一种方法来做到这一点而不使用每个端口的线程 有没有办法用单线程来做到这一点 比如同时在多个端口上选择或轮询 我正在使用 pyserial 2 6 我假设您在类 Unix 平台上使用 P
  • 对于无法将 Span 传递到 lambda 表达式的有效替代方案是什么?

    我有一个这种形状的函数 可以进行一维求根 public delegate double Fun double x object o public static void Solve Fun f out double y object o y
  • 使用 SpreadSheetGear 获取数据行数?

    我查了一些网上资源 也许我是瞎子 但我还无法找到答案 我正在上传一个文件 将其转换为流 然后将其输入 SpreadSheetGear 现在 我需要循环遍历每一行并读取数据 这很好 到目前为止 这是我的代码 IWorkbook wb Fact
  • 在图像上绘制文本

    我以前从未接触过绘画 所以遇到了一些问题 我似乎无法让这段代码的输出工作 文件正在保存 但未在文本上绘制 谁能看到我可能做错了什么 编辑 一个愚蠢的错误 图像的背景是白色的 画笔颜色是 然而 正如我所期望的那样 文本并未居中 有什么想法为什