Ric*_*ton 3 c# graphics antialiasing
我有一个图像,我需要更改背景颜色(例如,将下面的示例图像的背景更改为蓝色).
但是,图像是消除锯齿的,所以我不能简单地用不同的颜色替换背景颜色.
我试过的一种方法是创建第二个图像,它只是背景并改变它的颜色并将两个图像合并为一个,但是这不起作用,因为两个图像之间的边界是模糊的.
有没有办法做到这一点,或其他一些方法来实现这一点,我没有考虑?
只需使用GDI +
Image image = Image.FromFile("cloud.png");
Bitmap bmp = new Bitmap(image.Width, image.Height);
using (Graphics g = Graphics.FromImage(bmp)) {
g.Clear(Color.SkyBlue);
g.InterpolationMode = InterpolationMode.NearestNeighbor;
g.PixelOffsetMode = PixelOffsetMode.None;
g.DrawImage(image, Point.Empty);
}
Run Code Online (Sandbox Code Playgroud)
导致:

| 归档时间: |
|
| 查看次数: |
2729 次 |
| 最近记录: |