使用 SetDeviceGammaRamp 调整屏幕亮度

原创 2017年08月01日 10:13:57

SetDeviceGammaRamp 的MSDN帮助文档  


//hDC DC句柄,如果为NULL时使用整个屏幕

//wR wG wB 0~255, 默认128

  BOOL SetBrightness(HDC hDC, int wR, int wG, int wB)
  {
    BOOL bRet = FALSE;

    HDC hGammDC = hDC? hDC: ::GetDC(NULL);
  
   #pragma pack(push, 8)
    typedef struct _tagD3dGammaramp_t
    {
      WORD                red  [256];
      WORD                green[256];
      WORD                blue [256];
    }_D3DGAMMARAMP, *LP_D3DGAMMARAMP;
   #pragma pack(pop)

    _D3DGAMMARAMP mGamRamp;
    memset(&mGamRamp, 0, sizeof(mGamRamp));

    for (int iIndex = 0; iIndex < 256; iIndex++)
    {
      mGamRamp.red[iIndex] = min(65535, iIndex * (wR + 128));
      mGamRamp.green[iIndex] = min(65535, iIndex * (wG + 128));
      mGamRamp.blue[iIndex] = min(65535, iIndex * (wB + 128));
    }

    LPVOID lpRamp = &mGamRamp;

    bRet = SetDeviceGammaRamp(hGammDC, lpRamp);

    if(hDC == NULL && hGammDC)
    {
      ::ReleaseDC(NULL, hGammDC);
    }

    return bRet;
  }


setDeviceGammaRamp调节 gamma ramp用法

C++代码: CSDN版本:  代码:API函数原形如下():BOOL WINAPI GetDeviceGammaRamp(  HDC hDC,  LPVOID lpRamp); BOOL WINAP...
  • nostopping
  • nostopping
  • 2009年10月26日 23:41
  • 5248

通过伽马矫正改变计算机屏幕亮度封装代码示例

有些显卡允许你通过程序修改其自身伽玛矫正值,因此你可以使用此特点来改变整个屏幕的亮度。 该SetDeviceGammaRamp API函数接受256个RGB值的数组,在这个数组增加值会让你的...
  • bjtbjt
  • bjtbjt
  • 2013年11月25日 17:08
  • 4032

使用 SetDeviceGammaRamp 调整屏幕亮度

使用 SetDeviceGammaRamp 调整屏幕亮度
  • zgl7903
  • zgl7903
  • 2017年08月01日 10:13
  • 312

LCD知识充电讲堂:走进神奇的Gamma世界

y 本文导航 第1页:在哪见过、听说过Gamma? 第2页:什么是Gamma? 第3页:什么是Gamma校正? 第4页:Gam...
  • longxiaowu
  • longxiaowu
  • 2014年04月24日 11:00
  • 2955

linux centos 6.7下屏幕亮度调节方法

装了centos 6.7后发现屏幕的亮度调不了,用fn+。。也调不了。于是找到电源设置里的屏幕亮度调节--还是不行。      最后用了xgamma -gamma命令调节成功,具体操作:     ...
  • u014605728
  • u014605728
  • 2015年12月25日 10:37
  • 3195

C# 调节屏幕亮度

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy...
  • JavaloverZY
  • JavaloverZY
  • 2011年04月01日 19:13
  • 2275

LCD背光控制 brightness control

在显示器的校正中常常会涉及Gamma值、白点坐标、色温、三原色、荧光剂色度值等参数。不同的gamma值会使显示器的亮度和颜色有较大差别。gamma值较小时亮调的等级差比较大,对表现亮度的颜色有利,反之...
  • gaiazhang
  • gaiazhang
  • 2013年04月02日 16:58
  • 4036

高精度多媒体时钟应用类

///////////////////////////////////////////// //High-Resolution Timer //多媒体高精度时钟应用类 /////////////...
  • zgl7903
  • zgl7903
  • 2008年06月25日 11:05
  • 6503

Android设置屏幕亮度

使用场景最近在研究AndroidL Settings的代码,写了一个简单的控件来操控屏幕亮度。 其实,调节屏幕亮度的场景应用很广,例如很多视频应用都响应touch事件来进行亮度调节。屏幕亮度调节模式...
  • zinss26914
  • zinss26914
  • 2015年10月28日 18:46
  • 7192

如何调整系统屏幕亮度和程序内部屏幕亮度

在使用系统的IPowerManager设置系统屏幕亮度,代码如下(使用这个代码需要导入外部jar包,Y:\w990settings\alps\out\target\common\obj\JAVA_LI...
  • murphykwu
  • murphykwu
  • 2012年11月30日 14:37
  • 3542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用 SetDeviceGammaRamp 调整屏幕亮度
举报原因:
原因补充:

(最多只允许输入30个字)