意图:有两个bmp文件,棋盘文件-board.bmp(棕色背景)、棋子文件-chess.bmp(黑棋子周围背景红色)。想用board.bmp建立一个Graphics,然后把chess.bmp绘到棋盘,最后把整个内存的图绘到PictureBox控件里。
希望得到的图像是仅仅黑色棋子在棋盘上,但实际上整个棋子的bmp都显示了,请问如何去掉棋子的红色背景?(C#做)其中PictureBox控件的Paint事件代码如下:private void picBox_Paint(object sender, PaintEventArgs e)
{
// 从文件得到两个bmp的Image
Image imageBoard = new Bitmap(@"board.bmp");
Image imageChess = new Bitmap(@"chess.bmp");
// 从棋盘的Image建立Graphics
Graphics grfx = Graphics.FromImage(imageBoard);
// 把棋子绘到棋盘里
grfx.DrawImage(imageChess, 100, 100);
// 绘好的图放到PictureBox控件里
this.picBox.Image = imageBoard;
}
希望得到的图像是仅仅黑色棋子在棋盘上,但实际上整个棋子的bmp都显示了,请问如何去掉棋子的红色背景?(C#做)其中PictureBox控件的Paint事件代码如下:private void picBox_Paint(object sender, PaintEventArgs e)
{
// 从文件得到两个bmp的Image
Image imageBoard = new Bitmap(@"board.bmp");
Image imageChess = new Bitmap(@"chess.bmp");
// 从棋盘的Image建立Graphics
Graphics grfx = Graphics.FromImage(imageBoard);
// 把棋子绘到棋盘里
grfx.DrawImage(imageChess, 100, 100);
// 绘好的图放到PictureBox控件里
this.picBox.Image = imageBoard;
}
Image imageChess = imageList1.Images[0];
当然你也可以遍历棋子中的每个像素点,把红颜色的a通道设为透明
接分