private void btnSave
Png_Click(object sender, EventArgs e)
// cat.
png feather.
png Format32bppArgb
string strOldFilePath = @"D:\icon\colorpen.jpg";
Rectangle rectangle = new Rectangle(10,20,30,40);Image<Gray, byte> Sub = Image.GetSubRect(rectangle);
Image<Gray, byte> CropImage = new Image<Gray, byte>(Sub.Size);
CvInvoke.cvCopy(S...
Grahpics类里的CopyFromScreen函数,可以把屏幕拷贝到Graphics对象里。如果Graphics对象是从窗口Form里创建的,那么屏幕就直接
显示在窗口里。看例子:给窗口添加一个按钮,然后给这个按钮添加单击事件处理函数。
函数里的代码如下:
private void button1_Click(object sender, EventArgs e)
原文:Png图片的透明部分穿透测试
private void Window_MouseMove(object sender, MouseEventArgs e){ NavBtnList.Clear();
Point mouseP = e.GetPosition(this);
Vis...
Bitmap targetBitmap = new Bitmap(bitmap.Width, bitmap.Height);
// 设置Graphics对象的CompositingMode为SourceOver以支持
透明度
using (Graphics graphics = Graphics.FromImage(targetBitmap))
graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
// 设置
透明度(0为完全
透明,255为不
透明)
float opacity = 0.5f;
// 创建颜色矩阵并设置
透明度
ColorMatrix colorMatrix = new ColorMatrix();
colorMatrix.Matrix33 = opacity;
// 创建颜色矩阵属性
ImageAttributes imageAttributes = new ImageAttributes();
imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
// 绘制具有
透明度的
PNG图片到目标Bitmap上
graphics.DrawImage(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height), 0, 0, bitmap.Width, bitmap.Height, GraphicsUnit.Pixel, imageAttributes);
// 保存目标Bitmap为
图片文件
targetBitmap.Save("path_to_output_file.
png");
Console.WriteLine("半
透明PNG图片绘制完成。");
在这个示例中,你需要将 `"path_to_
png_file.
png"` 替换为你实际的
PNG图片路径。首先,创建一个源Bitmap对象并加载
PNG图片。然后,创建一个目标Bitmap对象,它具有与源Bitmap相同的尺寸。
通过设置Graphics对象的CompositingMode属性为SourceOver,我们启用了
透明度支持。然后,我们通过创建一个ColorMatrix对象,并将其第三行的值设置为所需的
透明度来设置
透明度。接下来,我们创建了一个ImageAttributes对象,并使用SetColorMatrix方法将ColorMatrix应用于图像。
最后,使用Graphics对象的DrawImage方法将具有
透明度的
PNG图片绘制到目标Bitmap上,并保存目标Bitmap为
图片文件。
请确保提供的
PNG图片具有
透明度(即
图片中的某些
区域是
透明的),以便在绘制时产生半
透明效果。