C# 调节屏幕亮度
来源:互联网 发布:wacom mac 绘画软件 编辑:程序博客网 时间:2024/05/01 10:00
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;//必须引用此项
//警告:实验此代码可能给你的显示器的显示带来问题 ,花了两个小时查API的用法
// 不过我试过是没有事情的(BS下自己:不是用自己的机子)
namespace WindowsApplication1
...{
public partial class Form1 : Form
...{
public Form1()
...{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
...{
SetGamma(trackBar1.Value);
}
[DllImport("gdi32.dll")]
public static extern int GetDeviceGammaRamp(IntPtr hDC, ref RAMP lpRamp);
RAMP ramp = new RAMP();
[DllImport("gdi32.dll")]
public static extern int SetDeviceGammaRamp(IntPtr hDC, ref RAMP lpRamp);
[DllImport("user32.dll")]
static extern IntPtr GetDC(IntPtr hWnd);
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct RAMP
...{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public UInt16[] Red;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public UInt16[] Green;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public UInt16[] Blue;
}
void SetGamma(int gamma)
...{
ramp.Red = new ushort[256];
ramp.Green = new ushort[256];
ramp.Blue = new ushort[256];
for (int i = 1; i < 256; i++)
...{
// gamma 必须在3和44之间
ramp.Red[i] = ramp.Green[i] = ramp.Blue[i] = (ushort)(Math.Min(65535, Math.Max(0, Math.Pow((i + 1) / 256.0, gamma * 0.1) * 65535 + 0.5)));
}
SetDeviceGammaRamp(GetDC(IntPtr.Zero), ref ramp);
}
}
}
- C# 调节屏幕亮度
- C# 调节屏幕亮度 .
- C# WINCE调节屏幕亮度
- Android 屏幕亮度调节
- android调节屏幕亮度
- centos 屏幕亮度 调节
- Android屏幕亮度调节
- android调节屏幕亮度
- Fedora17调节屏幕亮度
- Android 调节屏幕亮度
- ubuntu调节屏幕亮度
- centos 调节屏幕亮度
- 调节屏幕亮度
- 调节屏幕亮度
- ubuntu 调节屏幕亮度
- Android:调节屏幕亮度
- window7调节屏幕亮度
- android 调节屏幕亮度
- java代码审查
- Qt中整合MySQL,向MySQL中插入图片
- 简单的连连看的算法
- oracle序列问题
- oracle的安装和卸载
- C# 调节屏幕亮度
- Oracle常用及非常用函数详解
- 解决Ubuntu的乱码问题
- javascript
- 谈谈IT市场
- JForum SSO - 整合已有的web应用 - JForum单点登陆原理与配置
- 导入数据库问题
- Axure RP原型设计
- 基于qt和mysql的学生注册系统(一)