GcLogoHtml.cs
C# VB
//// This code is part of Document Solutions for Imaging demos.// Copyright (c) MESCIUS inc. All rights reserved.//using System;using System.IO;using System.Drawing;using GrapeCity.Documents.Drawing;using GrapeCity.Documents.Text;using GrapeCity.Documents.Imaging;using GCTEXT = GrapeCity.Documents.Text;
namespace DsImagingWeb.Demos{ // This sample uses the same code as in the HelloWorld sample // to create an image with the "Hello, World!" text, but in addition // adds company logo copied from the MESCIUS home page // using DsHtml. // // Please see notes in comments at the top of HelloWorldHtml // sample code for details on adding DsHtml to your projects. public class GcLogoHtml { public GcBitmap GenerateImage(Size pixelSize, float dpi, bool opaque, string[] sampleParams = null) { // MESCIUS home page: var uri = new Uri("https://developer.mescius.com/"); // The coordinates of the logo on the home page: var logoRc = new RectangleF(5, 5, 350, 80);
// Create the "Hello, World!" image like in the HelloWorld sample: var blue = Color.FromArgb(unchecked((int)0xFF2e4884)); var bmp = new GcBitmap(pixelSize.Width, pixelSize.Height, true, dpi, dpi); using (var g = bmp.CreateGraphics(blue)) { var rc = new RectangleF(0, 0, pixelSize.Width, pixelSize.Height); var b = new RadialGradientBrush(Color.White, blue, new PointF(0.5f, 0.5f), true); g.FillRectangle(rc, b); var tf = new TextFormat { Font = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "FreeSerifBold.ttf")), FontSize = 64, ForeColor = Color.OrangeRed, }; g.DrawString("Hello, World!", tf, rc, TextAlignment.Center, ParagraphAlignment.Center, false);
// Copy and paste the logo from onto the image, scaled x2: var fmt = new HtmlToImageFormat(false, false) { FullPage = false, MaxWindowWidth = 300, MaxWindowHeight = 300, Clip = logoRc, Scale = 2 }; // Create an instance of GcHtmlBrowser that is used to render HTML: using var browser = Common.Util.NewHtmlBrowser();
// Draw HTML: g.DrawHtml(browser, uri, pixelSize.Width - logoRc.Width * fmt.Scale, 0, fmt, out SizeF s); } return bmp; } }}