我知道使用colormatrix。但这对整个形象起作用。有没有办法使用colormatrix只是图像的一部分而不是整个图像。
例如,我想仅给出图像边框区域的亮度。
我正在使用c#。
答案 0 :(得分:0)
鉴于ColorMatrix
仅适用于单个颜色矢量/像素,您需要做的就是仔细选择您的像素,使其符合您的标准。
已经有一段时间了,但是如果你逐行扫描像素,那么整个第一行和最后一行以及所有其他行的第一列和最后一列都可以被转换。
答案 1 :(得分:0)
如果:
Bitmap bitmap2 = new Bitmap(bitmap1.Width, bitmap1.Height); //copy bitmap1 to bitmap2 Graphics.FromImage(bitmap2).DrawImage(bitmap1, 0, 0); //copy part of bitmap1 to bitmap2 with your own image attributes (ColorMatrix, etc..) Graphics.FromImage(bitmap2).DrawImage(bitmap1, new Rectangle(100, 50, 20, 20), 100, 50, 20, 20, GraphicsUnit.Pixel, yourImageAttributes);
如果只想要边框,可以先改变整个图像,然后在里面复制原始图像的矩形。