2013-08-14 5 views
0

이봐, 난 내가 이미지 만 고르게 공간을의 상단에있는 상자를 추가하고자하고 1280 X 720간격 중 4 개 영역

을의 이미지에 4 상자를 추가하려고 모든 1280 너비에 걸쳐.

Dim g As Graphics = Graphics.FromImage(image) 

g.FillRectangle(New SolidBrush(Color.FromArgb(90, 255, 255, 255)), New Rectangle(3, 7, 270, 25)) 'The transparent square for Date 
g.DrawString(Format(DateTime.Now, "MM/dd/yyyy HH:mm:ss tt"), New Font("Arial", 18), Brushes.Black, New PointF(3, 5)) 'The date 

g.FillRectangle(New SolidBrush(Color.FromArgb(90, 255, 255, 255)), New Rectangle(350, 7, 170, 25)) 'The transparent square for Latitude 
g.DrawString("Lat: " & "30.976154", New Font("Arial", 18), Brushes.Black, New PointF(352, 5)) 

g.FillRectangle(New SolidBrush(Color.FromArgb(90, 255, 255, 255)), New Rectangle(670, 7, 180, 25)) 'The transparent square for longitude 
g.DrawString("Lng: " & "33.351328", New Font("Arial", 18), Brushes.Black, New PointF(672, 5)) 

g.FillRectangle(New SolidBrush(Color.FromArgb(90, 255, 255, 255)), New Rectangle(970, 7, 120, 25)) 'The transparent square for MPH 
g.DrawString("MPH: " & "000", New Font("Arial", 18), Brushes.Black, New PointF(972, 5)) 

g.Dispose() 

그러나 각 사각형/텍스트가 주변의 너비와 다른 너비이므로 화면에서 가로줄도 만들 수있는 확실한 방법을 찾지 못했습니다.

모든 아이디어, 생각은 좋을 것입니다!

+0

당신이하려는 일이 명확하지 않습니다. 상자가 모두 고르게 배치 되길 원하십니까? 아니면 항상 문자열의 길이에 비례하도록하고 싶습니까? 무엇을 성취하려고합니까? 그림이 도움이 될 수 있습니다. – user1118321

+0

@ user1118321 이들을 균등하게 배치합니다. – StealthRT

답변

0

너비를 레이블 수로 간단히 나눕니다. 다음은 몇 가지 의사 코드입니다.

const int NUM_LABELS = 4; 
int divWidth = width/NUM_LABELS; 
int i; 
for i = 0 to (NUM_LABELS - 1) 
    FillRect(i * divWidth, LABEL_HEIGHT, (i + 1) * divWidth, 0); // or whatever you want to do 
    MoveTo (i * divWidth, LABEL_HEIGHT); 
    DrawString("some string");