This guide explains how to create a program that uses GcImaging to generate and save to disk a JPEG image with the "Hello, World!" text.

GrapeCity Documents for Imaging assemblies are built for .NET Standard 2.0, and can be used with any target that supports it. In this short tutorial, we show how to build a .NET Core console application. The tutorial takes you through the steps required to do that in Visual Studio on Windows or MAC, or Visual Studio Code on Linux.

Create an empty console application

Using Visual Studio on Windows

  1. Open Visual Studio for Windows.
  2. Create a new .NET Core Console Application.
  3. Right click the project in Solution Explorer and choose Manage NuGet Packages.
  4. In Package source in top right, select nuget.org.
  5. Click Browse tab in top left and enter "GrapeCity.Documents" as the search string. You should see several GrapeCity.Documents packages listed.
  6. Select GrapeCity.Documents.Imaging, and click Install. Accept the license agreement.
This will add the required references to your application. You can now jump to Adding Code topic below to modify the application so that it generates the JPEG.

Using Visual Studio on MAC

  1. Open Visual Studio for MAC.
  2. Create a new .NET Core Console Application.
  3. In the tree view on the left, right click Dependencies and choose Add Packages.
  4. In the Search panel, type "GrapeCity.Documents".
  5. From the list in the left panel, select GrapeCity.Documents.Imaging and click Add Packages.
  6. Accept the license agreement.
This will add the required references to your application. You can now jump to Adding Code topic below to modify the application so that it generates the JPEG.

Using Visual Studio Code on Linux

  1. In a terminal window (you may use the Terminal in Visual Studio Code), type the following commands:
$ mkdir ~/MyApp # create a directory for the application
$ cd ~/MyApp
$ dotnet new console # create a .NET Core application with MyApp.csproj and Program.cs files
  1. Open Visual Studio Code.
  2. If you haven't already done so, from Extensions install Nuget Package Manager, and activate it.
  3. In Visual Studio Code, press Ctrl+P to open the file command box, type > in it, find "Nuget Package Manager: Add Package" in the list that opens, and click it.
  4. In the search box that opens, type "GrapeCity" and press Enter. This should bring up the list of available GrapeCity packages, GrapeCity.Documents.Imaging among them.
  5. Select it. This will add a reference to that package to you .csproj file, which would now look like this:
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp2.0</TargetFramework>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="GrapeCity.Documents.Imaging" Version="2.0.0.132" />
    </ItemGroup>
</Project>
  1. In a terminal window, type the following commands to build and run the app:
$ cd ~/MyApp
$ dotnet restore # fetches referenced packages for MyApp.csproj
$ dotnet run # runs the default app
At this point you should see the "Hello, World!" printed in the terminal window (the default behavior of a new console app). Now modify the application so that it generates the JPEG instead.

Adding Code

Open Program.cs in Visual Studio or Visual Studio Code, and modify it so that it looks like this:
using System;
using System.Drawing;
using GrapeCity.Documents.Imaging;
using GrapeCity.Documents.Text;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a new GcBitmap:
            var bmp = new GcBitmap(600, 600, true);
            // Create a graphics to draw on (should be disposed when no longer needed):
            using (var g = bmp.CreateGraphics(Color.White))
            {
                // Add a radial gradient:
                var rc = new RectangleF(0, 0, bmp.Width, bmp.Height);
                var b = new RadialGradientBrush(Color.White, Color.CadetBlue, new PointF(0.5f, 0.5f), true);
                g.FillRectangle(rc, b);
                // Prepare a TextFormat and draw the string using it:
                var tf = new TextFormat
                {
                    // NOTE: this assumes that a Resources/Fonts/times.ttf font file exists:
                    Font = Font.FromFile(Path.Combine("Resources", "Fonts", "times.ttf")),
                    FontSize = 40
                };
                g.DrawString("Hello, World!", tf, rc, TextAlignment.Center, ParagraphAlignment.Center, false);
            }
            bmp.SaveAsJpeg("HelloWorld.jpg");
        }
    }
}
Now run the application:
$ cd ~/MyApp
$ dotnet run # runs MyApp

That's all it takes to generate a PDF file using GcPdf. The HelloWorld.pdf should now appear in your project directory.

Essentially the same program is implemented by the Hello, World! sample, so you can see it in action:

This concludes this short guide. For more information please see the About page.