C++绘制像素问题

2024-04-03


如何制作窗口,或者更像剪辑区域,我可以在其中绘制像素? 它可能使用 WinApi,但是我不希望我的项目看起来像 winapi,所以它将有

int main(){}

代替

int WINAPI WinMain(HINSTANCE ...

我找到了一个例子,我可以在控制台窗口中绘制

int main()
{
    COLORREF color = RGB(255,0,0); // COLORREF to hold the color info

    SetConsoleTitle("Pixel In Console?"); // Set text of the console so you can find the window

    HWND hwnd = FindWindow(NULL, "Pixel In Console?"); // Get the HWND
    HDC hdc = GetDC(hwnd); // Get the DC from that HWND

    for( int i = 0 ; i < 50 ; i++ )
    {
    SetPixel(hdc, 5+i, 12, color); // SetPixel(HDC hdc, int x, int y, COLORREF color)
    }
        ReleaseDC(hwnd, hdc); // Release the DC
    DeleteDC(hdc); // Delete the DC
    system("pause");
    return(0);
}

但我想在选定的区域上绘制而不是控制台,该区域将保持焦点(当用户单击它时等)。

如果能够为这个程序处理简单的键盘/鼠标事件也很棒,但这不是我的主要目标,也许其他一些第三方库会提供帮助。

我希望我已经清楚地解释了我想做什么,但英语不是我的母语,所以对于任何误解我深表歉意。

我将感谢任何帮助。


因为我是第一次使用这个网站,所以很抱歉在错误的地方出现了一些垃圾邮件或消息,因为我不确定在哪里发布下一条消息:-) 所以我想写的是:

” 否则,Allegro/SDL 如何创建窗口?他们使用汇编程序调用还是 shell 调用?当我能够从头开始创建窗口时,无论需要做多少工作,我都会更高兴:) ”


你不会喜欢这样的 - 在 Windows 中,你必须创建一个窗口,然后重写 WM_PAINT 消息,然后在系统调用你时绘制你必须绘制的内容。这是老派的做事方式,而且还不错。

一些有趣且相关的链接:

http://www.winprog.org/tutorial/bitmaps.html http://www.winprog.org/tutorial/bitmaps.html

http://www.codeproject.com/Articles/66250/BeginPaint-EndPaint-or-GetDC-ReleaseDC.aspx http://www.codeproject.com/Articles/66250/BeginPaint-EndPaint-or-GetDC-ReleaseDC.aspx

如果你真的想避免这一切,请尝试popcap http://sourceforge.net/projects/popcapframework/。那里涉及的学习曲线可能更陡峭,所以你可能真的想坚持使用 GDI 和 HWND,无论它一开始看起来多么困难和混乱。

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

C++绘制像素问题 的相关文章

  • gtest 和 gmock 有什么区别?

    我试图理解的目的google mock Google 的 C 模拟框架 https github com google googletest blob master googlemock README md 我已经与gtest较早 但我还是
  • asp.net c# 将数据集中的数据转换为电子邮件正文?

    从数据集到电子邮件正文的最佳方式是什么 我有一个 net 控制台应用程序 用于根据存储过程的结果发送电子邮件通知 并且想知道如何最好地从 SQL 数据转到电子邮件正文 带有颜色和字体的 html 正文是最好的 但纯文本也可以 thanks
  • 隐式方法组转换陷阱

    我想知道为什么给定代码的输出 在 LinqPad 中执行 void Main Compare1 Action Main Dump Compare2 Main Dump bool Compare1 Delegate x return x Ac
  • 我们如何将数据从一个打开的表单传递到另一个打开的表单?

    winform中如何将数据从一个窗体传递到另一个打开的窗体 在 Windows 应用程序中 一个窗体打开另一个窗体 当我在父表单中输入一些数据时 这些数据将立即反映在另一个子表单中 这将如何发生 取决于你想要多花哨 最简单的方法就是直接调用
  • 如何从 List 中的字符串中删除数字/数字?

    我有一个字符串列表 List
  • Entity Framework 4.1 RC:Code First EntityTypeConfiguration 继承问题

    我尝试使用通用的 EntityTypeConfiguration 类来配置所有实体的主键 以便每个派生的配置类不会重复自身 我的所有实体都实现一个公共接口 IEntity 它表示每个实体必须有一个 int 类型的 Id 属性 我的配置基类如
  • C++ 私有静态成员变量

    此 C 代码在编译时产生链接器错误 A h class A public static void f private static std vector
  • 正则表达式删除某些字符周围不需要的空格

    我正在尝试从 JavaScript 文件中删除一些不需要的空格 并在将文件发送到客户端之前使用 C 和 Regex 组合文件 我有一个JavascriptHandler处理 js 文件 效果很好 这是我用来 打包 JavaScript 的函
  • C++ 中的 Java ArrayList [重复]

    这个问题在这里已经有答案了 在Java中我可以做 List
  • 控制器中的异常处理 (ASP.NET MVC)

    当您自己的代码抛出异常并从控制器中的操作调用时 应该如何处理 我看到很多最佳实践的例子 其中根本没有 try catch 语句 例如 从存储库访问数据 public ViewResult Index IList
  • 如何防止字符串被截留

    我的理解 可能是错误的 是 在 C 中 当你创建一个字符串时 它会被实习到 实习生池 中 这保留了对字符串的引用 以便多个相同的字符串可以共享操作内存 但是 我正在处理很多很可能是唯一的字符串 一旦完成每个字符串 我需要将它们从操作内存中完
  • 套接字:监听积压并接受

    listen sock backlog 在我看来 参数backlog限制连接数量 这是我的测试代码 server initialize the sockaddr of server server sin family AF INET ser
  • 如何用C++解析复杂的字符串?

    我试图弄清楚如何使用 解析这个字符串sstream 和C 其格式为 string int int 我需要能够将包含 IP 地址的字符串的第一部分分配给 std string 以下是该字符串的示例 std string 127 0 0 1 1
  • 简单的文档管理系统和API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无法将方法组“Read”转换为非委托类型“bool”

    我正在尝试使用SqlDataReader检查条目是否存在 如果存在则返回ID 否则返回false 当我尝试编译时 出现错误 无法将方法组 Read 转换为非委托类型 bool 我一直在遵循在 VB 中找到的示例 但似乎翻译可能不正确 pri
  • Active Directory UserPrincipal.Current.GetGroups() 返回本地组而不是 Web 服务器上的组

    以下内容在我的本地开发盒上效果很好 但是 当我将其移动到网络服务器时 它失败了 甚至不会记录错误 public static List
  • C 的“char”使用什么字符集? [复制]

    这个问题在这里已经有答案了 简单的问题 我最近开始用 C 编程 有一个简单的问题 C 编程语言在其 char 类型中使用什么字符集 例如 ASCII 还是取决于软件 操作系统 char 本质上是 1 个字节 主要在所有操作系统上 所以默认情
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • 如何将 Metro 应用部署到桌面?

    我正在尝试将我的 C 应用程序部署到我的 Windows 8 Metro 桌面 我可以在 bin 文件夹中看到部署的文件 但是当我尝试打开它们时 出现以下错误 该应用程序只能在 AppContainer 的上下文中运行 我检查了属性上下文菜
  • C/C++ 通过 Android NDK 在 JNI 中看不到 Java 方法

    我正在尝试从使用 NDK 构建的 C 类文件调用 Java 方法 它不断抛出常见的 未找到非静态方法 错误并导致整个 Android 应用程序崩溃 下面的代码片段 有些东西可能不需要 但我按原样保留它们 因为焦点 问题在于refreshJN

随机推荐

  • Laravel Dusk 错误:无法连接到本地主机端口 9515:连接被拒绝

    正如标题所示 我已经全新安装了 Laravel 5 4 和最新的 Homestead 1 0 1 但是 当我运行一个简单的 Dusk 测试用例时 出现以下错误 无法连接到本地主机端口 9515 连接被拒绝 有人知道如何处理这个问题吗 我尝试
  • Framer Motion - 过时的自定义值 - 更改自定义值不会触发更新

    Using 成帧器运动 https www framer com api motion 我有一个问题 更新我传递的对象custom支撑到motion div变体不会触发预期的样式更改 我创建了以下沙箱来演示该问题 https codesan
  • 使用 Android 数据绑定动态切换布局元素的可见性。

    我正在构建一个 Android 应用程序 我想在其中根据按钮单击切换某些视图元素的可见性 我试图使用数据绑定而不是使用 findViewById 来存档它 但是当变量更改时 我到目前为止找到的所有解决方案都不会更新布局 这是我到目前为止所拥
  • 非 IDR 图片 NAL 单元 - 0x21 和 0x61 含义

    有谁知道是什么0x21 and 0x61是指在 h 264 编码的视频流中吗 我知道0x01意味着它是一个b frame and 0x41意味着它是一个p frame 我的编码视频给了我两个0x21帧后跟一帧b frame I 21 21
  • 如何调试eex模板和@变量?

    我有这个模板 div class alert alert danger p Oops something went wrong Please check the errors below p div 如何在 IEx 控制台中显示 chang
  • Jackson 绑定具有不同名称的对象列表

    所以我有两堂课 public class Catalog private List
  • Parse.com 推送无法在 Windows Phone 8.1 上运行

    我们正在使用Parse https parse com 适用于 Android 和 IOS 上的推送通知并且工作正常 我正在开发 Windows 8 1 应用程序 但无法使其工作 该应用程序是使用 javascript html css 开
  • 为什么 Google 在前面添加 while(1);他们的 JSON 响应?

    谷歌为什么要前置while 1 他们的 私人 JSON 响应 例如 以下是打开和关闭日历时的响应谷歌日历 https calendar google com calendar about while 1 u smsSentFlag fals
  • 在服务器端 Blazor 项目中构建身份时出错

    我正在开发一个服务器端 Blazor 应用程序 该应用程序是使用为身份验证选择的 个人用户帐户 选项创建的 我现在想要自定义登录页面 但是当我选择通过脚手架添加身份页面时 我收到以下错误 并且我不确定从哪里开始进行故障排除 无法在内存中编译
  • UIBezierPath 撤消绘图重绘 UIImageView 的图像

    我试图通过重绘我创建的 NSMutableArray 中的所有 UIBezierPath 和关联的 UIColor 来重绘 UIImageView 的图像 减去点击撤消 UIButton 时的最后一个路径 但是 在这种情况下 UIImage
  • 比较javascript中两个变量是否引用同一个对象

    我正在寻找一种方法来检查两个变量是否引用 JavaScript 中的同一个对象 ex var a foo bar var b foo bar var aa a testSame a b false testSame a aa true va
  • 将整数列转换为双精度

    我导入了 2 个包含实验数据的 csv 文件 一个是对照组 一个是测试组 此处显示头部 问题在于 在 Gaze T 中 列 5 的类型为 double 而在 Gaze C 中 列的类型为整数 因此 当对两个数据帧中的距离进行总结时 我得到不
  • 如何调用重置选择并选择jqGrid中的所有内容?

    如何重置所选行并在单击外部按钮时选择所有行 我正在尝试重置选择 但不起作用 jQuery selectAll click function jQuery cbox trigger click jQuery clear click funct
  • 如何以编程方式设置 selectize.js 选项列表?

    我知道如何设置optionList on 初始化但我如何以编程方式设置它 我有一个邀请列表 array select invite options inviteList 您可以使用 load 方法通过以下方式设置选项编程式API https
  • Gulp:无依赖的同步性

    我正在将构建系统迁移到 gulp 并且遇到了一个问题 我定义了各种构建任务 scripts style jade等 以及clean删除所有构建文件的任务 我想确保构建任务不会在清理任务之前运行 BUT我还希望能够在不先清理的情况下运行构建任
  • 如何防止用户关闭我的应用程序?

    我有一个将在餐厅使用的 Android 应用程序 所以我希望用户无法退出该应用程序 用户唯一可以做的就是使用应用程序 如果可能的话 只有管理员可以通过登录或重新启动设备退出应用程序 我不知道哪种方法是最好的方法 有解决方案或其他方法来做到这
  • PayPal iOS 和 Android SDK 中的 PAYMENT_CREATION_ERROR

    今天 我在 iOS 应用程序中使用 PayPal 结帐时遇到问题 用户登录后 我收到错误 PayPal SDK 请求失败 出现错误 PAYMENT CREATION ERROR 设置此付款时出现问题 请访问 PayPal 网站检查您的帐户
  • 虚拟审判室设计

    作为我的硕士项目的一部分 我建议构建一个用于零售服装店的虚拟试用室应用程序 目前 它旨在直接在商店中使用 但也可能扩展到在线商店 该应用程序将通过在屏幕上的 3D 复制品上展示选定的服装 向客户展示所选服装的外观 它涉及3个步骤 评估客户
  • C++11 Polyfills

    我正在开始一个新项目 目标是MSVC GCC latest GCC 4 3 ARM和更多 这waf我们已经构建了构建系统C 11编译器的功能检测 我现在拥有针对我目标的编译器中所有功能的预处理器宏C 11 例如 ifdef WAF FEAT
  • C++绘制像素问题

    如何制作窗口 或者更像剪辑区域 我可以在其中绘制像素 它可能使用 WinApi 但是我不希望我的项目看起来像 winapi 所以它将有 int main 代替 int WINAPI WinMain HINSTANCE 我找到了一个例子 我可