包含python使用gdi的詞條

本文目錄一覽:

python 用py2exe 打包程序報錯 !!! 如何打包依賴?求打救…..[抓狂]

在你自己機器上運行時,確保上面說的dll在你的文件路徑下就行了。system32目錄一定在你路徑下,把

python27\dlls

下的幾個文件複製到

exe

文件目錄下試試吧。再不行,改用

pyinstaller

打包吧。我現在放棄

py2exe

改用這個了,感覺比

py2exe

好。話說

py2exe

也好久沒更新了好像。

python 如何監控進程GDI對象

GR_GDIOBJECTS

 Return the count of GDI objects.   //

 

GR_USEROBJECTS

1

 Return the count of USER objects.

 

    HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,7604); //傳對應的進程ID

 

    //GetProcessMemoryInfo(hProcess,ProMem,sizeof(ProMem));

 

    DWORD dwGdi = GetGuiResources(hProcess, GR_GDIOBJECTS);

    DWORD dwUser = GetGuiResources(hProcess, GR_USEROBJECTS);

 

    CloseHandle(hProcess);

如何使用GDI繪製半透明矩形

HDC hBitmapDC = CreateCompatibleDC(hDC);

HBITMAP hBitmap = CreateCompatibleBitmap(hDC, rt.Width(), rt.Height());

SelectObject(hBitmapDC,hBitmap);

步驟2)在內存DC中繪圖

FillRgn(hBitmapDC, (HRGN)rgn, (HBRUSH)m_pGdiBrush);

Rectangle(hBitmapDC, 0, 0, 100, 100);

步驟3) 半透明混合

BLENDFUNCTION bf;

bf.BlendOp = AC_SRC_OVER;

bf.BlendFlags = 0;

bf.AlphaFormat = 0;

bf.SourceConstantAlpha = 50;

AlphaBlend(hDC,rt.left,rt.top,rt.Width(),rt.Height(),hBitmapDC,0,0,rt.Width(),rt.Height(),bf);

2、GDI+

步驟1) 創建半透明畫刷

m_pBrush = new SolidBrush(Color(128, GetRValue(clrMask), GetGValue(clrMask), GetBValue(clrMask))); // 透明度 128

步驟2)使用畫刷繪圖

Graphics graphics(hDC);

graphics.FillPolygon(m_pBrush, pts, 3, FillModeAlternate);

效率: GDI+ GDI。

使用GDI+繪圖簡單而高效,所以推薦使用GDI+。

3、Direct Draw

此方法比較複雜,沒有對Direct Draw有一定的了解,不推薦此方法。

代碼比較多,不做列舉,需要注意的地方有:

使用Direct Draw時,注意,繪製半透明多邊形的時候,因為牽涉到已有的圖像數據,所以會對繪圖頁面原有的圖像進行讀取操作。如果當前繪製頁面開闢在顯存中的時候,

對顯存的讀操作會導致整個渲染流水線的暫停,

從而嚴重影響程序的效率,此時,繪製半透明多邊形就會變得異常的慢。這時候需要將繪製頁面從顯存中更改至內存中。或者在內存中創建一個過度頁面,繪製完成後再往顯存頁面上貼圖。效率會有顯著提升,實測:

請教該怎麼使用GDI+控件

創建自定義控件的3種主要實現方式:

1)繼承已有的控件來實現自定義控件: 主要是當要實現的控件和已有的控件在很多方面比較類似, 通過對已有控件的擴展來滿足要求。

2)通過繼承一個布局文件實現自定義控件,一般來說做組合控件時可以通過這個方式來實現。

注意此時不用onDraw方法,在構造廣告中通過inflater加載自定義控件的布局文件,再addView(view),自定義控件的圖形界面就加載進來了。

3)通過繼承view類來實現自定義控件,使用GDI繪製出組件界面,一般無法通過上述兩種方式來實現時用該方式。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/240628.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:23
下一篇 2024-12-12 12:23

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論