使用 GDI+ API 绘制图像

2023-11-29

我正在使用GDI+API 只是为了显示图像(bmp) 屏幕上。这是执行任务的函数的代码:

void drawImg_ArmorInfo_PupupWnd(HDC hdc) {

    GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR gdiplusToken;
    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

    Image* image = new Image(L"C:/Users/Darek/F2 stuff/art/intrface/armor_info_1.bmp");
    int a1 = image->GetWidth();
    int a2 = image->GetHeight();

    Graphics graphics(hdc);
    graphics.DrawImage(image, 0, 0);

    delete image;
    GdiplusShutdown(gdiplusToken);
}

问题是我遇到了异常:Access violation writing location 0xXXXXXXXX拨打电话后GdiplusShutdown功能。当我注释掉时有什么有趣的

Graphics graphics(hdc);
graphics.DrawImage(image, 0, 0);

程序运行时没有任何问题,但当然,图像没有被绘制。当我注释掉对GdiplusShutdown功能 - 没有问题了。

代码有什么问题以及问题的原因是什么?


graphics超出范围后GdiplusShutdown所以它不能正确破坏。

尝试这个:

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

使用 GDI+ API 绘制图像 的相关文章

随机推荐

  • jQuery 奇怪的插入问题

    我有一个列表 我不想通过 javascript 中断它来添加标题 From ul li 1 li li class afterthis 2 li li 3 li li 4 li ul To ul li 1 li li class after
  • VueJS 动态属性名称不更新值

    我正在尝试实现一个关联数组并结合访问值中的属性 键基于活动对象的值 li li
  • 为什么迭代大型 Django QuerySet 会消耗大量内存?

    该表包含大约一千万行 for event in Event objects all print event 这会导致内存使用量稳定增加到 4 GB 左右 此时行会快速打印 第一行打印之前的漫长延迟让我感到惊讶 我预计它几乎会立即打印 我也尝
  • 有没有办法获取带有非局部变量的 dict 对象? [复制]

    这个问题在这里已经有答案了 我想知道 Python 中是否有一个函数返回一个 dict 对象 其中包含用于封闭函数的非局部变量 喜欢vars or locals 对于局部变量或globals 对于全球的 更新 正如 thebjorn 所指出
  • 当我尝试克隆不存在的存储库时,如何阻止 git 询问凭据?

    我正在做一些研究 我需要下载大量的 git 存储库 大约 17k 我编写了一个非常简单的 Python 脚本 用于自动从包含 GitHub URL 的数据集进行克隆例程 first 10 data url name data project
  • 如何创建结构体数组

    我想实现一个搜索表 这是数据 20130610 Diamond CoinMate 11 7246 15 7762 2897 20130412 Diamond Bithumb 0 209 0 2293 6128 20130610 OKCash
  • 通过 youtube api 检索视频的公共统计数据

    可以获取视频的公开统计数据吗 使用这样的东西我可以获得视频的总观看次数和点赞数 https www googleapis com youtube v3 videos part statistics key API KEY id ekzHIo
  • 如何将模型绑定到 List

    我正在努力完成这样的事情 我觉得这是可能的 如果不是 可能是 MVC 框架中的疏忽 View 分部视图是可编辑的表单 强类型化为单个 MyViewModel 并使用 MyViewModel 类上的 DataAnnotations 进行验证
  • 使用“std::conditional_t”根据其模板参数定义类“typedef”

    我尝试使用std conditional t定义一个类A s typedef取决于其模板参数T template lt typename T gt class A public typedef std conditional t lt st
  • 从本地 Spark 实例读取 Google 存储 gs:// 文件系统

    问题非常简单 您有一个本地 Spark 实例 集群或仅在本地模式下运行 并且您想从 gs 读取数据 在 Spark 2 4 3 上 我需要执行以下操作才能从 Spark 本地启用 GCS 访问 我使用 JSON 密钥文件与client id
  • HTTP POST 返回错误:417“预期失败。”

    当我尝试 POST 到 URL 时 会导致以下异常 远程服务器返回错误 417 期望落空 这是示例代码 var client new WebClient var postData new NameValueCollection postDa
  • 从标头(邮递员)发出访问令牌请求时出现错误

    从标头发出访问令牌请求时 出现以下错误 错误 错误 不支持的授权类型 error description 不支持授予类型 我做错了什么或者错过了什么吗 请帮忙 附上截图 在此输入图像描述 您使用了错误的选项卡 标题应该只有 1 2 Cont
  • 如何在 C# 中从字节数组中删除和添加字节

    我有一个配置文件 cfg 用于创建命令行应用程序以将用户添加到 SFTP 服务器应用程序 cfg 文件需要为 cfg 文件中的每个条目保留一定数量的保留字节 我目前只是通过创建字节数组并将其转换为字符串 然后将其复制到文件中 将新用户附加到
  • 使用并行有线 RS232 从多个设备接收数据

    我目前正在开发一个小型应用程序 用于监控太阳能集热器产生的功率 电流 该阵列连接到 3 个逆变器 每台逆变器都有一个RS232接口 每10秒传输一行信息 当前状态 由于我想使用只有一个串行端口的设备进行监控 因此我需要想出一种能够并行读取所
  • Windows Phone 7:文件流异常

    我尝试使用 FileStream 使用命名空间 System IO 但出现异常 Attempt to access the method failed 这是代码 FileStream fs new FileStream file txt F
  • 如何使用 apache POI XWPFDocument 从 java 创建多级项目符号和编号?

    我已经阅读了许多与我的要求相关的博客和论坛 但到目前为止 我能够在获得的所有帮助下生成第一级的项目符号或编号 任何人都可以指导我如何使用 apache poi 创建多级编号 想知道 Apache POI XWPFDocument 是否支持这
  • 使用 KSOAP Android 创建 SOAP 请求

    我需要生成一个像这样的肥皂请求 SOAP请求 POST TennisMasters TennisMasters Listener asmx HTTP 1 1 Host playinkstudio com Content Type text
  • 使用 mod_rewrite 从子域重定向到主域

    我的问题是我有一个正常运行的子域 sub mydomain com sub 已加载到 mydomain com sub 中 我想做的是将所有对 sub mydomain com 的请求重定向到 mydomain com 不知怎的 当我是子域
  • SQL 过程 XML 性能:插入表中的列

    我在 SQL 过程中遇到问题 但似乎找不到正确的解决方案 该存储过程包含一个 XML 数据类型的参数 名称 data 传入消息的示例如下 实际消息包含更多节点 但为了简单起见 我将它们省略了
  • 使用 GDI+ API 绘制图像

    我正在使用GDI API 只是为了显示图像 bmp 屏幕上 这是执行任务的函数的代码 void drawImg ArmorInfo PupupWnd HDC hdc GdiplusStartupInput gdiplusStartupInp