2010-03-11 8 views
0

누군가 Windows Forms를 사용하지 않고 그래픽을 그리는 예제를 제공 할 수 있습니까? 콘솔 윈도우 또는 Windows 폼이없는 앱이 있지만 기본 그래픽 (선 및 직사각형 등)을 그릴 필요가 있습니다.Windows Forms을 사용하지 않고 C# 그래픽 그리기

희망이 있습니다.

+0

? 파일에? –

+0

그래픽을 그릴 수있는 앱에 대해 알려주십시오. –

+0

Im은 마우스 제스쳐 앱을 사용하므로 보이는 창을 표시하지 않고 화면에 그려야합니다. –

답변

-1

오른쪽, 나는 그것이 윈도우 형태로 함께했던 방법을하지만, 배경을 투명하게하고, 모든 국경을 없애 .. . 어쨌든 replys에 대한

감사합니다 ..

J

일부 그래픽을 그릴 필요합니까
2

이와 비슷한?

using System.Drawing; 

Bitmap bmp = new Bitmap(200, 100); 
Graphics g = Graphics.FromImage(bmp); 
g.DrawLine(Pens.Black, 10, 10, 180, 80); 
1

질문에 약간의 초점이 맞춰져 있습니다. 특히 - 선과 직사각형을 어디에 그리시겠습니까? 일반적으로 말하자면, 윈도우 표면에 의해 제공되는 드로잉 표면이 필요합니다.

Windows 양식을 피할 필요가있는 곳은 어디입니까?

다른 종류의 창을 사용하고 있습니까?

namespace WindowsFormsApplication1 { 
    public partial class Form1 : Form { 
     public Form1() { 
      InitializeComponent(); 
     } 

     protected override void OnPaint(PaintEventArgs e) { 
      base.OnPaint(e); 

      e.Graphics.DrawLine(new Pen(Color.DarkGreen), 1,1, 3, 20); 
      e.Graphics.DrawRectangle(new Pen(Color.Black), 10, 10, 20, 32); 
     } 
    } 
} 

당신이 (프린터 등)는 "그래픽"개체에 대한 핸들을 가져올 수있는 객체와이 작업을 수행 할 일반적으로 수 있습니다 윈도우에 대한

는이 유사한 코드를 사용할 수 형성한다.

5

이것은 당신에게 좋은 시작 주어야한다 : 다음

[TestFixture] 
    public class DesktopDrawingTests { 
    private const int DCX_WINDOW = 0x00000001; 
    private const int DCX_CACHE = 0x00000002; 
    private const int DCX_LOCKWINDOWUPDATE = 0x00000400; 

    [DllImport("user32.dll")] 
    private static extern IntPtr GetDesktopWindow(); 

    [DllImport("user32.dll")] 
    private static extern IntPtr GetDCEx(IntPtr hwnd, IntPtr hrgn, uint flags); 

    [Test] 
    public void TestDrawingOnDesktop() { 
     IntPtr hdc = GetDCEx(GetDesktopWindow(), 
          IntPtr.Zero, 
          DCX_WINDOW | DCX_CACHE | DCX_LOCKWINDOWUPDATE); 

     using (Graphics g = Graphics.FromHdc(hdc)) { 
     g.FillEllipse(Brushes.Red, 0, 0, 400, 400); 
     } 
    } 
    } 
+1

이것은 깜박입니다 –

관련 문제