Vytváření popisků v Aspose.Drawing

Úvod

Vítejte v našem podrobném průvodci vytvářením popisků v Aspose.Drawing pro .NET! Pokud chcete vylepšit své ilustrace dokumentů popisky, jste na správném místě. V tomto tutoriálu rozdělíme proces na zvládnutelné kroky pomocí knihovny Aspose.Drawing.

Předpoklady

Než se pustíte do výukového programu, ujistěte se, že máte následující předpoklady:

  • Základní znalost programovacího jazyka C#.
  • Knihovna Aspose.Drawing nainstalována. Můžete si jej stáhnouttady.
  • Dokument nebo obrázek, kam chcete přidat popisky.

Importovat jmenné prostory

Ujistěte se, že máte ve svém projektu zahrnuty potřebné jmenné prostory:

using System.Text;
using System.Threading.Tasks;
using System;
using System.Drawing;
using System.Drawing.Text;
using System.IO;

Krok 1: Načtěte obrázek

Začněte načtením obrázku, kam chcete přidat popisky. Nahradit"Your Document Directory" a"gears.png" s vaším skutečným adresářem a názvem souboru obrázku.

using (var image = Image.FromFile(Path.Combine("Your Document Directory", "gears.png")))
{
    // Váš kód zde
}

Krok 2: Vytvořte grafický objekt

VytvořitGraphics objekt z obrázku pro provedení operací kreslení.

var graphics = Graphics.FromImage(image);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.PageUnit = GraphicsUnit.Pixel;

Krok 3: Definujte pozice popisků

Definujte počáteční a koncový bod pro každý popis spolu s hodnotou a jednotkou popisku.

PointF startAnchor1 = new PointF(107, 55);
PointF endAnchor1 = new PointF(179, 5);
int value1 = 74;
string unit1 = "mm";
PointF startAnchor2 = new PointF(111, 146);
PointF endAnchor2 = new PointF(29, 180);
int value2 = 28;
string unit2 = "mm";

Krok 4: Nakreslete popisky

ImplementujteDrawCallOut způsob kreslení popisků na obrázek.

DrawCallOut(graphics, startAnchor1, endAnchor1, value1, unit1);
DrawCallOut(graphics, startAnchor2, endAnchor2, value2, unit2);

Krok 5: Uložte obrázek

Uložte obrázek s popisky do požadovaného adresáře.

image.Save(Path.Combine("Your Document Directory", "gears_with_callout_out.png"));

Nakreslete zdrojový kód popisku

void DrawCallOut(Graphics graphic, PointF startAnchor, PointF endAnchor, int value, string unit)
            {
                Pen pen = new Pen(Color.DarkGray, 1);
                Font font = new Font("Arial", 10, FontStyle.Bold);
                string outputValue = $"{value} {unit}";
                var textSize = graphic.MeasureString(outputValue, font);
                int diameterSymbolSize = 12;
                int spaceSize = 3;
                textSize.Width += diameterSymbolSize + spaceSize;
                float callOutMiddleX = endAnchor.X > startAnchor.X ? endAnchor.X - textSize.Width : endAnchor.X + textSize.Width;
                float callOutMiddleY = endAnchor.Y > startAnchor.Y ? endAnchor.Y - textSize.Height : endAnchor.Y + textSize.Height;
                graphic.DrawLine(pen, startAnchor.X, startAnchor.Y, callOutMiddleX, callOutMiddleY);
                float textAnchorX = Math.Min(callOutMiddleX, endAnchor.X);
                float textAnchorY = callOutMiddleY;
                graphic.DrawLine(pen, callOutMiddleX, callOutMiddleY, textAnchorX == callOutMiddleX ? textAnchorX + textSize.Width : textAnchorX, callOutMiddleY);
                graphic.DrawEllipse(pen, new Rectangle((int)textAnchorX + spaceSize, (int)(textAnchorY - textSize.Height) + spaceSize, 10, 10));
                graphic.DrawLine(pen, (int)textAnchorX + 1, (int)textAnchorY - 1, (int)textAnchorX + diameterSymbolSize + 2, (int)textAnchorY - diameterSymbolSize - 2);
                SolidBrush brush = new SolidBrush(Color.DarkGray);
                graphic.DrawString(outputValue, font, brush, (int)textAnchorX + diameterSymbolSize + spaceSize, (int)(textAnchorY - textSize.Height));
            }

Závěr

Gratulujeme! Úspěšně jste přidali popisky k obrázku pomocí Aspose.Drawing for .NET. Nebojte se experimentovat s různými pozicemi a hodnotami, abyste si popisky dále přizpůsobili.

Nejčastější dotazy

Mohu použít Aspose.Drawing pro jiné typy ilustrací?

Ano, Aspose.Drawing podporuje širokou škálu kreslicích operací pro různé typy ilustrací.

Je Aspose.Drawing kompatibilní s různými formáty obrázků?

Absolutně! Aspose.Drawing podporuje oblíbené obrazové formáty jako PNG, JPEG, GIF a další.

Kde najdu další příklady a dokumentaci?

Prozkoumejte komplexní dokumentacitady.

Jak získám podporu, pokud narazím na problémy?

NavštivteAspose. Kreslící fórum za podporu komunity.

Mohu Aspose.Drawing před nákupem vyzkoušet?

Rozhodně! Začněte s bezplatnou zkušební verzítady.