本人最近在做一个配置工具的项目,对配置工具中的相应参数进行配置以后,希望可以马上看到配置以后的效果图。折腾了一段时间,最后采用了论坛中的某位大神的实现方法,实现了图像某一特定矩形区域的透明化处理,特分享给大家供参考,需得到一定的完善。
private void RuleSittingWin_Paint(object sender, PaintEventArgs e)
{
//在picture中获取一块区域,进行文字的的叠加
Image img = pictureBoxRuleSitting.Image;
using (Bitmap bmp = new Bitmap(img))
{
for (int i = 10; i < 200; i++)
{
for (int j = 10; j < 100; j++)
{
Color color = bmp.GetPixel(i, j);//获取指定像素点的颜色
byte A = color.A;
byte R = color.R;
byte G = color.G;
byte B = color.B;
color = Color.FromArgb(128, R, G, B);
bmp.SetPixel(i, j, color);//获取指定像素的颜色
}
}
pictureBoxRuleSitting.Image = bmp;
}
}
将其放在paint函数中,希望打开子窗体时,就可以马上看到被透明化处理的区域。然后再透明的区域中进行中文汉字的叠加,配置颜色的显示等等显示。。。