i found another solution
create a texture brush based on the texture you are drawing with opacity (using a ColorMatrix) and set the graphics option CompositingMode to SourceCopy and draw your circle or whatever.
some code:
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, opacity, 0},
new float[] {0, 0, 0, 0, 1}};
System.Drawing.Imaging.ColorMatrix colorMatrix = new System.Drawing.Imaging.ColorMatrix(matrixItems);
System.Drawing.Imaging.ImageAttributes imageAtt = new System.Drawing.Imaging.ImageAttributes();
imageAtt.SetColorMatrix(colorMatrix,
System.Drawing.Imaging.ColorMatrixFlag.Default,
System.Drawing.Imaging.ColorAdjustType.Bitmap);
RectangleF newRectangleF = new RectangleF(0.0f, 0.0f, YourImage.Width, YourImage.Height);
TextureBrush newTextureBrush = new TextureBrush(YourImage, newRectangleF, imageAtt);
based on the msdn code for a texturebrush with opacity