C# 控制台应用程序 - 如何使用 GDI+ 在 BMP/JPG 文件中绘图?

2023-12-02

我想使用 C# 控制台应用程序和 GDI+ 在 BMP 或 JPG 文件中绘制矩形、箭头、文本、线条等形状。这是我在网上找到的:

c# 将 System.Drawing.Graphics 保存到文件c# 将 System.Drawing.Graphics 保存到文件GDI+ 初学者教程http://www.c-sharpcorner.com/UploadFile/mahesh/gdi_plus12092005070041AM/gdi_plus.aspx专业 C# - 使用 GDI+ 的图形 codeproject.com/Articles/1355/Professional-C-Graphics-with-GDI

但这仍然对我没有帮助。其中一些链接仅针对 Windows 窗体应用程序解释这一点,其他链接仅供参考(MSDN 链接),仅解释 GDI+ 中的类、方法等。 那么如何使用 C# 控制台应用程序在图片文件中进行绘制呢? 谢谢你!


在控制台模式应用程序中创建位图非常简单。只是一个小障碍,项目模板没有预先选择您需要的 .NET 程序集。项目+添加引用,选择System.Drawing

一个非常简单的示例程序:

using System;
using System.Drawing;   // NOTE: add reference!!

class Program {
    static void Main(string[] args) {
        using (var bmp = new Bitmap(100, 100))
        using (var gr = Graphics.FromImage(bmp)) {
            gr.FillRectangle(Brushes.Orange, new Rectangle(0, 0, bmp.Width, bmp.Height));
            var path = System.IO.Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                "Example.png");
            bmp.Save(path);
        }
    }
}

运行此命令后,您的桌面上将出现一个新的位图。它是橙色的。利用图形方法发挥创意,使其看起来像您想要的那样。

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

C# 控制台应用程序 - 如何使用 GDI+ 在 BMP/JPG 文件中绘图? 的相关文章

  • 成员字段、构建顺序

    在 C 中 当执行如下所示的操作时 构造顺序是否得到保证 Logger Logger kFilePath logs runtime log logFile kFilePath 是的 施工顺序始终得到保证 但是 不能保证它与对象在初始值设定项
  • 显示 div 内的用户名列表

    我是 jQuery 新手 在我的项目中 我创建了一个类User其中代码如下所示 static ConcurrentDictionary
  • C# - Visual Studio 中的 System.OutOfMemoryException

    我遇到问题 当我右键单击 Visual Studio 中的主窗体并转到 视图设计器 时 出现错误 它说 引发了 System OutOfMemoryException 类型的异常 堆栈跟踪 at System Reflection Asse
  • C++0x 初始值设定项列表示例

    我想看看这个现有代码示例如何利用 C 0x 初始化列表功能 示例0 include
  • C# 实体框架我们应该使用 POCO.Id 还是仅使用 POCO 设置关系?

    我在服务方法中遇到一种情况 将 POCO 分配为另一个 POCO 的子对象无法按预期工作 我正在使用实体框架 4 public void ChangeOrderCurrency Currency currency order Currenc
  • 为什么我在 WinForms 列表框中得到“System.Data.DataRowView”而不是实际值?

    每当我运行代码并尝试查看highscore我在列表框中得到的只是System Data DataRowView 谁能明白为什么吗 Code MySqlConnection myConn new MySqlConnection connStr
  • AcceptSocket 超时?

    是否有可能AcceptSocket on a TcpListener具有超时的对象 以便它偶尔被中断 TcpListener server new TcpListener localIP port server Start while sh
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • 根据 Active Directory 策略检查密码[重复]

    这个问题在这里已经有答案了 我有一个允许用户更改其 AD 密码的前端 有没有办法获取特定用户及其属性 长度 复杂性 的密码策略 例如细粒度 有没有办法根据此特定策略检查字符串 xyz121 编辑 我不想检查活动目录中存储的当前密码 我想检查
  • 为什么 rand() 总是返回相同的值? [复制]

    这个问题在这里已经有答案了 可能的重复 在C中生成随机数 https stackoverflow com questions 3067364 generating random numbers in c 使用 rand 生成随机数 http
  • 使用 catch all 字典属性将 json 序列化为对象

    我想使用 JSON net 反序列化为对象 但将未映射的属性放入字典属性中 是否可以 例如给定 json one 1 two 2 three 3 和 C 类 public class Mapped public int One get se
  • Web 文本编辑器中的 RTF 格式

    网络上是否有支持 RTF 格式文档输入的文本编辑器 我知道这对 webdev 来说有点奇怪 但我需要从数据库中读取 RTF 文档 并在基于 Web 的文本编辑器中对其进行编辑 然后将其存储回 RTF 中 在我在转换工具上投入太多资金之前 我
  • 重定向 std::cout

    我需要一个类 在其对象的生命周期内将一个 ostream 重定向到另一个 ostream 经过一番修补后 我想出了这个 include
  • 删除数组时出现访问冲突异常

    删除分配的内存时 出现 访问冲突读取位置 异常 如下所示 我有一个针对 Visual Studio 2010 工具集 v100 C 编译器编译的本机 dll 我有一个针对它的托管 dll 包装器 它是针对工具集 v90 编译的 因为我想以
  • 模板定义中的友元函数

    我的问题有点相关this https stackoverflow com questions 1297609 overloading friend operator for template class one 我想重载某些类的运算符 te
  • 动态菜单创建IoC

    我想知道是否有人知道我如何创建如何使用 AutoFac 之类的东西来让我动态地允许 dll 创建自己的表单和菜单项以在运行时调用它们 所以如果我有一个 员工 dll 新入门表格 证书表格 供应商 dll 供应商详细信息来自 产品形态 在我的
  • 在两个点之间创建一条曲线,每个点都具有标准化向量

    因此 我需要一种写入方法来在两点之间创建一条曲线 每个点都有一个指向任意方向的归一化向量 我一直在尝试设计这样一种方法 但一直无法理解数学 在这里 由于一张图片胜过一千个文字 这就是我所需要的 在图中 矢量垂直于红线 我相信向量需要进行相同
  • 如何获取运行或段落的高度

    我找到了Run or Paragraph in FlowDocument现在我需要知道HEIGHT of it i e while navigator CompareTo flowDocViewer Document ContentEnd
  • execlp() 系统调用输出错误

    这个非常简单的例子exec 系统调用 在这里 我试图打电话execlp 两次 但是 我没有得到例外的输出 它仅显示当前目录的第一次调用的输出 include
  • 查找和替换正则表达式问题

    感谢这里对我其他问题的所有大力帮助 我开始掌握正则表达式 但我仍然对这个一无所知 我的代码是 StreamReader reader new StreamReader fDialog FileName ToString string con

随机推荐

  • 有没有办法告诉 crossfilter 将数组元素视为单独的记录,而不是将整个数组视为单个键?

    我有一个数据集 其中一些字段值是数组 我想使用 crossfilter 和 d3 js 或 dc js 来显示每个值在数据集中出现的次数的直方图 这是一个例子 var data key KEY 1 tags tag1 tag2 key KE
  • 如何在 LayoutAnchorable AvalonDock 2 中放置窗口实例

    我正在将 WPF C 应用程序 不是 MVVM 中的 AvalonDock 从 1 3 升级到 2 0 在 1 3 中 只要使用 DockableContent 我就可以放置自定义窗口 XAML
  • 如何使用 ctypes 将 Python 列表列表转换为 C 数组?

    正如这里所见如何使用 ctypes 将 Python 列表转换为 C 数组 此代码将获取一个 Python 数组并将其转换为 C 数组 import ctypes arr ctypes c int len pyarr pyarr 对于列表的
  • 使用 get_Keys() 方法进行集合是否正确

    与此问题相关 我可以将名为 keys 的键添加到哈希表而不覆盖 keys 成员吗 我实际上经常使用get Keys method作为推荐的PSBase property只会转移问题 换句话说 在解决方案如下的情况下 对于未知的目录键列表 此
  • Numpy 检查两个数组的元素近似相等

    我有两个带有浮点值的 numpy 数组 我试图找到数字大致相等的索引 浮点比较 所以像这样 x np random rand 3 y np random rand 3 x 2 y 2 Do the comparison and it sho
  • UITableView 单元格中的 UITextField 返回 null

    我已经在这件事上用头撞墙已经有一段时间了 非常感谢任何意见或指示 因此 目标是从表中的文本字段创建登录表单 该用户信息一旦收集 将被传递到单独视图控制器中的数组 以便可以存储在 收藏夹 列表中 因此 我创建了看起来很棒的表单 但是当我控制台
  • 如何配置 Zend_Form 使用数组表示法?

    我在配置 Zend Form 时遇到困难 我有一个 Zend Form 子类 该表格包含一些必需信息和一些附加信息 我希望可以通过数组访问附加信息 提交的数据将如下所示 formData required1 formData require
  • 在 C# 中创建接口实例

    我正在 C 中使用 MS Excel 互操作 但我不明白这行特定的代码是如何工作的 var excel new Microsoft Office Interop Excel Application 其中 Microsoft Office I
  • 模板类的复制构造函数

    我读到模板 copy con 永远不是默认的复制构造函数 并且模板赋值操作永远不是复制赋值运算符 我不明白为什么需要这个限制 并立即上网 ideone 并返回一个测试程序但在这里 复制构造函数永远不会在进一步谷歌搜索时被调用 我遇到了模板化
  • 如何使用 System.Text.Json 处理同一属性的单个项目和数组?

    我正在尝试反序列化一些 JSON 其中包含的值有时是数组 有时是单个项目 我怎样才能做到这一点System Text Json and JsonSerializer 这个问题的灵感来自这个问题对于 Json NET 通过罗伯特 麦克劳斯 我
  • 仅当满足条件时启动discord.py命令冷却

    我希望仅当满足函数中的条件时才开始其中一个命令的冷却 如下所示 bot command async def move ctx destination destinations d1 d2 d3 List of valid arguments
  • ViewBag、ViewData 和 TempData

    任何人都可以解释一下何时使用 TempData ViewBag ViewData 我有一个要求 我需要在控制器一中设置一个值 该控制器将重定向到控制器二 控制器二将渲染视图 我尝试使用 ViewBag 当我到达控制器二时 该值丢失了 我能知
  • Apache HTTP 服务器上的 SSL [关闭]

    Closed 这个问题是与编程或软件开发无关 目前不接受答案 我有 2 个用于 Apache 服务器的 crt 文件 1 root bundle crt 2 我的域名 com crt 和其他捆绑包 1 中级 crt 2 我的域名 com c
  • 尝试在 symfony 4 中安装 sonata admin 时出错

    我尝试在 symfony 4 项目中安装 sonata admin 用户包 composer create project symfony website skeleton my project composer require sonat
  • CloudBlob.OpenRead() 未读取所有数据

    使用 Windows Azure 存储客户端库 CloudBlob OpenRead 方法仅读取 4 mb 的数据 如何使用 OpenRead 方法读取完整流 CloudBlob blob container GetBlobReferenc
  • SetTimeOut 计时器内的 JQuery GetJSON

    任何人都可以发布示例代码 其中有一个正在运行的计时器 javascript settimeout 并进行数据检索 基本上我这个计时器的作用是显示新消息 myFunction param data retrieval operation us
  • 自动滚动到底部

    我正在开发带有聊天屏幕的应用程序 但与普通屏幕一样 它开始从上到下滚动 但应该是从下到上 该应用程序位于 Telerik Nativescript 平台中 View xml
  • 如何为 Autodesk Forge App 指定多个回调 URL?

    您可以注册多个回调 URL 回调 URL 工具提示中有说明 但没有关于如何输入多个 URL 的示例 正确的分隔符是什么 我试过 n 这是工具提示上的拼写错误 我们将修复它 今天您可以使用 2022 年 9 月更新 此功能现已推出
  • x86 中如何使用进位和溢出标志来计算乘法

    当两个数字相乘溢出寄存器时 如何使用两个标志来正确计算答案 E g if al holds 0xff并乘以0x2 导致溢出到ax 这些标志对此有何帮助 Multiplication on x86 x64 never overflows wh
  • C# 控制台应用程序 - 如何使用 GDI+ 在 BMP/JPG 文件中绘图?

    我想使用 C 控制台应用程序和 GDI 在 BMP 或 JPG 文件中绘制矩形 箭头 文本 线条等形状 这是我在网上找到的 c 将 System Drawing Graphics 保存到文件c 将 System Drawing Graphi