ImageTransparency.cs
- //
- // This code is part of Document Solutions for PDF demos.
- // Copyright (c) MESCIUS inc. All rights reserved.
- //
- using System;
- using System.IO;
- using System.Drawing;
- using GrapeCity.Documents.Pdf;
- using GrapeCity.Documents.Text;
- using GrapeCity.Documents.Drawing;
- using GCTEXT = GrapeCity.Documents.Text;
- using GCDRAW = GrapeCity.Documents.Drawing;
-
- namespace DsPdfWeb.Demos
- {
- // This sample demonstrates the ability of DsPdf to render
- // images using a specified transparency (opacity).
- public class ImageTransparency
- {
- public int CreatePDF(Stream stream)
- {
- var doc = new GcPdfDocument();
- var page = doc.NewPage();
- var g = page.Graphics;
-
- var rc = Common.Util.AddNote(
- "GcPdfGraphics.DrawImage() method allows rendering images with a specified opacity. " +
- "Below is a random text with an image drawn on top of it using opacity 0.2 (almost transparent), " +
- "0.5 (medium transparency) and 1 (non-transparent).",
- page);
-
- var tl = g.CreateTextLayout();
- tl.DefaultFormat.Font = StandardFonts.Times;
- tl.DefaultFormat.FontSize = 12;
- tl.MaxWidth = page.Size.Width;
- tl.MaxHeight = page.Size.Height;
- tl.MarginAll = 36;
- tl.MarginTop += rc.Bottom;
- tl.Append(Common.Util.LoremIpsum(2));
- tl.PerformLayout(true);
- g.DrawTextLayout(tl, PointF.Empty);
-
- using (var image = GCDRAW.Image.FromFile(Path.Combine("Resources", "Images", "puffins.jpg")))
- {
- var imageRc = new RectangleF(tl.MarginLeft, tl.MarginTop, 144, 144);
- // Opacity 0.2:
- g.DrawImage(image, imageRc, null, ImageAlign.ScaleImage, 0.2f);
- imageRc.Offset(imageRc.Width + 36, 0);
- // Opacity 0.5:
- g.DrawImage(image, imageRc, null, ImageAlign.ScaleImage, 0.5f);
- imageRc.Offset(imageRc.Width + 36, 0);
- // Opacity 1 (default):
- g.DrawImage(image, imageRc, null, ImageAlign.ScaleImage);
-
- // NOTE: we must save document BEFORE disposing the image(s) used in it:
- doc.Save(stream);
- }
- return doc.Pages.Count;
- }
- }
- }
-