BmpTransforms.vb
'' '' This code is part of Document Solutions for Imaging demos. '' Copyright (c) MESCIUS inc. All rights reserved. '' Imports System.IO Imports System.Drawing Imports System.Numerics Imports GrapeCity.Documents.Drawing Imports GrapeCity.Documents.Text Imports GrapeCity.Documents.Imaging '' This sample demonstrates how to use bitmap transformations '' such as resizing, flipping and rotating. Public Class Transforms Function GenerateImage( ByVal pixelSize As Size, ByVal dpi As Single, ByVal opaque As Boolean, Optional ByVal sampleParams As String() = Nothing) As GcBitmap Dim bmp = New GcBitmap(pixelSize.Width, pixelSize.Height, opaque, dpi, dpi) bmp.Clear(Color.Transparent) Dim side = pixelSize.Width / 2 Dim side2 = side / 2 Dim bmpLarge, bmpFlip, bmpSmall1, bmpSmall2, bmpSmall3, bmpSmall4 Using bmpSrc = New GcBitmap(Path.Combine("Resources", "Stock", "goldfish.jpg")) bmpSrc.Opaque = opaque bmpLarge = bmpSrc.Resize(side, side) bmpFlip = bmpLarge.FlipRotate(FlipRotateAction.FlipHorizontal) bmpSmall1 = bmpSrc.Resize(side2, side2) bmpSmall2 = bmpSmall1.FlipRotate(FlipRotateAction.Rotate270) bmpSmall3 = bmpSmall1.FlipRotate(FlipRotateAction.FlipVertical) bmpSmall4 = bmpSmall1.FlipRotate(FlipRotateAction.Rotate90) End Using bmp.BitBlt(bmpLarge, 0, 0) bmp.BitBlt(bmpFlip, pixelSize.Width - bmpFlip.Width, 0) bmp.BitBlt(bmpSmall1, 0, side + side2 / 2) bmp.BitBlt(bmpSmall2, side2, side + side2 / 2) bmp.BitBlt(bmpSmall3, side2 * 2, side + side2 / 2) bmp.BitBlt(bmpSmall4, side2 * 3, side + side2 / 2) '' Dispose bitmaps except the resulting one bmpLarge.Dispose() bmpFlip.Dispose() bmpSmall1.Dispose() bmpSmall2.Dispose() bmpSmall3.Dispose() bmpSmall4.Dispose() Return bmp End Function End Class