2012-10-10 8 views
5

Desidero aggiungere un logo o il mio software nome nell'angolo in basso a destra del mio grafico. Ho usato TextObj ma il problema è che la sua posizione cambia cambiando la scala del grafico con la rotella del mouse. Dovrei usare un altro oggetto ma non so cosa sia. mi aiuti per favore.Come creare un'etichetta statica ZedGraph

risposta

4

Ecco una soluzione semplice:

private void Form1_Load(object sender, EventArgs e) 
{ 
    GraphPane pane = zedGraphControl1.GraphPane; 
    var text = new TextObj("Your Comapany Name Ltd.",(0.6)*(pane.XAxis.Scale.Max), 1.1, CoordType.ChartFraction, AlignH.Left, AlignV.Top); 
    text.ZOrder = ZOrder.D_BehindAxis; 
    pane.GraphObjList.Add(text);    
    zedGraphControl1.Refresh(); 
} 

valori Cambio x & y per posizionare il nome dell'azienda.

enter image description here

EDIT:

Basta sostituire oggetto di testo con un oggetto immagine e qui è:

private void Form1_Load(object sender, EventArgs e) 
{ 
    GraphPane pane = zedGraphControl1.GraphPane;    
    Image img = Image.FromFile(@"C:\i.jpg"); 
    var logo = new ImageObj(img, new RectangleF(0.8f, 1.1f, 0.08f, 0.1f), CoordType.ChartFraction, AlignH.Left, AlignV.Top);    
    pane.GraphObjList.Add(logo); 
    zedGraphControl1.Refresh(); 
} 

enter image description here

+0

La soluzione è vero, ma si dovrebbe cambiare "(0.6) * (pane.XAxis.Scale.Max)" a "0.6". Perché dovresti usare una frazione. Riesci a trovare un modo di usare un logo al posto del testo? – user1735169

+0

Si prega di dare un'occhiata alla sezione EDIT, spero che aiuti ... – SanVEE

+0

Buona risposta. Per l'angolo in basso a destra, andrei con New TextObj (sLabel, 0.98, 0.98, CoordType.PaneFraction, AlignH.Right, AlignV.Bottom) - Usando PaneFraction e .Right, .Bottom manterrà l'allineamento migliore se il testo cambia. – edhubbell