2013-08-14 4 views
0

Привет всем я пытаюсь добавить 4 коробки к изображению, разрешение 1280 х 720.Дистанционные из 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");