WebHU - Programozási kérdések és válaszok

A képek konfigurálása diagram egyéni címkéihez

Szeretném a c# diagram egyéni címkéit háttérképre cserélni, majd ráírni a címke szövegét.

Megpróbáltam a képcímke tulajdonságot és szöveget használni, de csak egymás mellé helyeztem őket.

Lehetséges ez? Átadhatja-e a diagram az y koordinátákat, így esetleg rajzolt függvényt használhatok?

adja meg a kép leírását itt adja meg itt a kép leírását

Kösz

27.06.2016

  • Tudsz példát mutatni arra, hogy milyennek szeretnéd? Egyszerűen létrehozhat képeket a bittérkép és a rárajzolt szöveg dinamikus kombinálásával. 27.06.2016

Válaszok:


1

Íme egy példa diagramképek dinamikus létrehozására. Annyit szeretne létrehozni belőlük, amennyire szüksége van, különböző szövegekkel és különböző nevekkel..:

Image img = Image.FromFile(someTemplateImage);

// draw a text into it:
using (Graphics G = Graphics.FromImage(img))
    G.DrawString("Hello", Font, Brushes.Blue, 1, 1);
// add it to the chart images with a name:
chart.Images.Add(new NamedImage("img01", img));

Most létrehozhatunk egy egyéni címkét, amely a képünket mutatja:

Axis ax = chart.ChartAreas[0].AxisX;
CustomLabel cl = new CustomLabel();
cl.FromPosition = chart.Series[0].Points[0].XValue;  // some values, which will place 
cl.ToPosition = chart.Series[0].Points[1].XValue;    // the cl between two points
cl.Text = "";   // no text, please!

cl.Image = "img01";  // this is our NamedImage

ax.CustomLabels.Add(cl);  // now we can add the CL

Természetesen a megrajzolt karakterlánc betűtípusokkal és igazítással történő formázása csak Önön múlik.

Ez csak egy példa egy egyetlen képpel és egy egyetlen cl képpel. Igényeitől függően érdemes kigondolnia egy sémát a képek elnevezésére és szövegeik hozzáadására.

Érdemes átnézni az ott található bejegyzéseket, hogy példákat lásson az áthelyezéssel kapcsolatban: Itt nagyszámú jelölőképet készítek menet közben, és itt a jelölőképek hőtérképet készítenek.

Íme egy díszítő funkció, amely egy sablonképet ad hozzá egy tengely minden egyéni címkéjéhez..:

public void AddornCLs(Chart chart, Axis axis, Image template, Font font, Color color)
{
    Rectangle rect = new Rectangle(Point.Empty, template.Size);
    TextFormatFlags format = TextFormatFlags.HorizontalCenter 
                           | TextFormatFlags.VerticalCenter;

    foreach(CustomLabel cl in axis.CustomLabels)
    {
        string text = cl.Text;
        if (text == "") text = cl.Tag.ToString(); else cl.Tag = cl.Text;
        cl.Text = "";
        if (cl.Name == "") cl.Name = axis.CustomLabels.IndexOf(cl).ToString("CL000");
        Image img = (Image)template.Clone();
        using (Graphics G = Graphics.FromImage(img))
            TextRenderer.DrawText(G, text, font, rect, color, format);
        chart.Images.Add(new NamedImage(cl.Name, img));
        cl.Image = cl.Name;
    }
}
27.06.2016
  • Köszi ez sokat segített. 27.06.2016
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..