ビットマップの赤チャンネルで 2 つ目の緑チャンネルで 2 つの四角形を描画しようとしています。
これはコードです:
Bitmap bitmap_guess = new Bitmap(C_PALETTE_X_PIXEL_MAX, C_PALETTE_Y_PIXEL_MAX, PixelFormat.Format24bppRgb);
Graphics graphics = Graphics.FromImage(bitmap_guess);
Rectangle box_rect = new Rectangle(0, 0, C_BOX_PIXELS_WIDTH, C_BOX_PIXELS_HEIGHT);
matrix = new Matrix();
matrix.RotateAt(thc, new System.Drawing.PointF(xc, yc), MatrixOrder.Prepend);
graphics.Transform = matrix;
graphics.FillRectangle(new SolidBrush(Color.Green), xc, yc, box_rect.Width, box_rect.Height);
matrix = new Matrix();
matrix.RotateAt(th, new System.Drawing.PointF(x, y), MatrixOrder.Prepend);
graphics.Transform = matrix;
graphics.FillRectangle(new SolidBrush(Color.Red), x, y, box_rect.Width, box_rect.Height);
問題は、2 番目の四角形を赤色で描画すると、ピクセルが重なっている 1 番目の四角形が 0 に上書きされることです。以前のピクセル値を単純に上書きするのではなく、重なり合ったときに長方形の色を変更したいと思います。IE - 3 つすべてではなく、1 つのチャネルで描画します。
私は特にこのためのグラフィックス操作を探しています。
よろしく、ラオヴ