[size=x-large]首先记记C#中的文件删除。
1.文件的删除、剪切、重命名,总是能真正执行成功的,虽然会抛异常。
2.文件夹的删除、剪切、重命名,当文件夹里面有文件被打开时,操作便无法完成。
当用Image.FromFile方法时,在没把这张图片释放前,对该文件或它的文件夹的修改都会失败,会报“拒绝访问”的异常。所以在对文件或文件夹进行修改时必须将Image.FromFile方法所占用的图片释放掉。
Image srcImg = Image.FromFile(@"D:\a.jpg");
Image cloneImge = new Bitmap(srcImage);
srcImage.dispose();
这样子的话就可以在不占用原始图片的情况下进行查看,并且对该图片或文件夹的操作也不受影响。
半透明效果:[/size]
1.文件的删除、剪切、重命名,总是能真正执行成功的,虽然会抛异常。
2.文件夹的删除、剪切、重命名,当文件夹里面有文件被打开时,操作便无法完成。
当用Image.FromFile方法时,在没把这张图片释放前,对该文件或它的文件夹的修改都会失败,会报“拒绝访问”的异常。所以在对文件或文件夹进行修改时必须将Image.FromFile方法所占用的图片释放掉。
Image srcImg = Image.FromFile(@"D:\a.jpg");
Image cloneImge = new Bitmap(srcImage);
srcImage.dispose();
这样子的话就可以在不占用原始图片的情况下进行查看,并且对该图片或文件夹的操作也不受影响。
半透明效果:[/size]
Graphics g = this.pictureBox1.CreateGraphics();
Bitmap bitmap = new Bitmap(@"D:\My Documents\My Pictures\20100713133939131.jpg");
float[][] matrixItems = {
new float[]{1,0,0,0,0},
new float[]{0,1,0,0,0},
new float[]{0,0,1,0,0},
new float[]{0,0,0,0.8f,0},
new float[]{0,0,0,0,1},
};
ColorMatrix colorMatrix = new ColorMatrix(matrixItems);
ImageAttributes imageAtt = new ImageAttributes();
imageAtt.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
int iWidth = bitmap.Width;
int iHeight = bitmap.Height;
g.DrawLine(new Pen(Color.Black, 25), new Point(10, 35), new Point(200, 35));
//图片是半透明的
g.DrawImage(bitmap, new Rectangle(30, 0, iWidth, iHeight), 0, 0, iWidth, iHeight, GraphicsUnit.Pixel, imageAtt);
g.DrawString();
g.Flush();
g.Dispose();