簡體   English   中英

如何在c ++中繪制到屏幕?

[英]How to draw to screen in c++?

我怎么在屏幕上畫一些東西? 不是控制台窗口而是整個屏幕,最好是控制台最小化。

它還會出現在版畫屏幕上嗎? 我想要做的是在屏幕頂部創建一個類似於我和我的應用程序知道但仍能像往常一樣使用應用程序的層。

這是一個例子:假設我想在屏幕中央出現2個黃色正方形,大小為5×5像素,位於所有其他應用程序的頂部,對於打印屏幕不可點擊和不可見。

[編輯]

我忘了提到我在Windows XP上使用Visual Studio 2010。

在Windows中,您可以使用GetDC功能。 只是一個簡約的例子:

#include <Windows.h>
#include <iostream>

void drawRect(){
    HDC screenDC = ::GetDC(0);
    ::Rectangle(screenDC, 200, 200, 300, 300);
::ReleaseDC(0, screenDC);
}
int main(void){
    char c;
    std::cin >> c;
    if (c == 'd') drawRect();
    std::cin >> c;
    return 0;
}

但是從Windows Vista開始它很慢

C ++沒有“屏幕”的概念,尤其沒有“圖形”。 所需的功能由您的操作系統提供。 在許多系統上,您需要一個“窗口”並在其上繪圖。 為了便於這樣做,像Qt這樣的庫可能有所幫助。 Oops提供了Windows解決方案。 也許你想使用一些OpenGL庫,或者來自DirectX的Windows的DirectDraw / Direct3D,以防你想要對你的圖形做一些3D東西。

(相當不錯但不是最近更新的)圖形庫反粒幾何體具有非常簡單的綁定,可以在各種窗口系統上顯示其演示,您可以查看這些示例。 但是對於更多涉及的內容,您可能正在討論特定於操作系統的庫。

Windows提供GDI / +,WPF和DirectX(包括Vista +上的Direct2D)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM