C#

2014-01-13 2 views
0

을 사용하여 콘솔 응용 프로그램에서 너비와 높이가 일정한 픽셀의 사각형을 만드는 방법 콘솔 응용 프로그램에서 너비와 높이가 일정한 픽셀의 빨간 사각형을 어떻게 만듭니 까?C#

나는 그것을 할 수있는 방법을 찾았지만 그것이 얼마나 많은 픽셀을 widht와 height로 결정할 수 있는지는 알지 못했다. 당신이 내 문제를 도와 주실 수 있다면.

나는 myslef를 시도한 google 및 somw에 나오는 거의 모든 것을 시도했다.

나는이 생각하지만 나던 픽셀의 양을 지정하고 난 금액 중 하나를 변경하지 못할 :

Console.OutpuEncoding = Encoding.GetEncoding(866); 
Console.Writeline("┌─┐"); 
Console.WriteLine("│1│"); 
Console.WriteLine("└─┘"); 
+1

콘솔 응용 프로그램에서 @Liath? 그럴 수있어? –

+0

@MaciejStachowski 분명히 당신이 원하는 모든 버퍼를 조작 할 수 있지만 더 이상 콘솔을 닮지 않을거야 http://stackoverflow.com/questions/2754518/how-can-i-write-fast-colored-output-to-console – Gusdor

+0

@Liath 나는 ive가 시도한 것을 보여 주었다. – user2979104

답변

1

좋아합니다. 다음 코드가 항상 작동하는지, 충돌하는지, 처음 맏아들을 먹는지는 모르지만 여기서는 C# 방식으로 콘솔 창에 직사각형을 그립니다. 몇 분 안에 해킹하고 어떤 방법으로도 최적화되지는 않지만 필요에 맞게 조정할 수 있습니다.

namespace ConsoleApplication12 
{ 
class Program 
{ 

    [DllImport("gdi32.dll")] 
    private extern static int SetPixel(int hdc, int x, int y, int color); 

    [DllImport("kernel32.dll")] 
    private extern static int GetConsoleWindow(); 

    [DllImport("user32.dll")] 
    private extern static int GetDC(int i); 

    static void Main(string[] args) 
    { 
     int myCon = GetConsoleWindow(); 
     int myDC = GetDC(myCon); 
     for (int i = 50; i < 150; i++) 
     { 
      for (int j = 50; j < 150; j++) 
      { 
       if (i == 50 || i == 149 || j == 50 || j == 149) 
        SetPixel(myDC, i, j, 255*256*256 + 255*256 + 255); 
      } 
     } 
     Console.ReadLine(); 
    } 
} 
}