2011-03-10 3 views
0

이미지 위에 약간 투명한 점을 표시하고 싶습니다. 마찬가지로 나는 그들이 어떤 영역에 있는지 볼 수 있습니다. C# .net 플랫폼에서 그렇게 할 수있는 방법이 있습니까?양식에 점을 그려야합니다.

감사합니다.

답변

4

이렇게하는 것이 하나의 방법입니다.

Image bitmap = new Bitmap(100, 100); // sample image, load your real image from file here 
using (var g = Graphics.FromImage(bitmap)) 
{ 
    g.FillRectangle(Brushes.Red, new Rectangle(0, 0, bitmap.Width, bitmap.Height)); // Just to fill the background on the sample image, remove this 

    var transparentColor = Color.FromArgb(127, Color.Blue); // Create a semitransparent color 
    using(Brush brush = new SolidBrush(transparentColor)) 
    { 
     // Create the dot 
     g.FillEllipse(brush, new Rectangle(10, 10, 25, 25)); 

     // Create another dot 
     g.FillEllipse(brush, new Rectangle(25, 15, 25, 25)); 
    } 
} 

myPictureBox.Image = bitmap; // display the image in an Imagebox (optional, you might use your image somewhere else) 
+0

이 제품은 잘 작동합니다. 제발 정확하게 투명 효과를 만드는 방법을 알려주세요. 그것은 "color.fromargb"문장입니다. ?? 또한 비트 맵을 사용하지 않으려는 경우에도 방법이 있습니까? – olive

+0

@olive, 예 ['FromArgb'] (http://msdn.microsoft.com/en-us/library/system.drawing.color.fromargb.aspx)는 색상을 만들고, '127'은 알파 값입니다 (투명도 채널). 'a, r, g, b '에서 색상을 생성하기위한 다른 오버로드가 개별적으로 존재합니다. 모든 오버로드에 대한 링크를 참조하십시오. –

+0

@olive, 당신은 비트 맵 대신 다른 이미지를 사용할 수 있습니다, 나는 비트 맵의 ​​유형으로 조금 대답을 업데이트했습니다. –

관련 문제