AnimationGlobalSize Property (original) (raw)

Summary

Gets or sets a value indicating the global size of the animation image.

Syntax

C#

Objective-C

C++/CLI

Java

Python

public LeadSize AnimationGlobalSize { get; set; } 
@property (nonatomic, assign) LeadSize animationGlobalSize 

public [LeadSize](leadsize.html) getAnimationGlobalSize(); public void setAnimationGlobalSize( [LeadSize](leadsize.html) leadSize );

Property Value

A LeadSize structure that indicates the global size of the animation image. Default value is 0,0 meaning same size as the image

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.Drawing; // WIN32 API const int LOGPIXELSY = 90; [DllImport("gdi32")] extern static int GetDeviceCaps(IntPtr hdc, int nIndex); [DllImport("kernel32")] extern static int MulDiv(int nNumber, int nNumerator, int nDenominator); public void AnimatedGIFExample() { // The GIF file will contain 4 frames const int frameCount = 4; // Each frame is 128 by 128 pixels (the GIF file will have double that size) const int frameWidth = 128; const int frameHeight = 128; // Background colors RasterColor[] backColor = { new RasterColor(0xFF, 0x00, 0x00), new RasterColor(0x00, 0xFF, 0x00), new RasterColor(0x00, 0x00, 0xFF), new RasterColor(0xFF, 0xFF, 0x00) }; // Foreground colors RasterColor[] foreColor = { new RasterColor(0xFF, 0xFF, 0x00), new RasterColor(0xFF, 0x00, 0x00), new RasterColor(0x00, 0xFF, 0x00), new RasterColor(0xFF, 0x00, 0x00) }; // Delay in milliseconds int[] delay = { 1000, 1000, 1000, 1000 }; // Left and top, we want the frames to move to each corner LeadPoint[] offset = { new LeadPoint(0, 0), new LeadPoint(frameWidth, 0), new LeadPoint(frameWidth, frameHeight), new LeadPoint(0, frameHeight), }; RasterImageAnimationDisposalMethod[] disposalMethod = { RasterImageAnimationDisposalMethod.RestoreBackground, RasterImageAnimationDisposalMethod.RestoreBackground, RasterImageAnimationDisposalMethod.RestoreBackground, RasterImageAnimationDisposalMethod.RestoreBackground }; RasterColor backgroundColor = RasterColor.FromKnownColor(RasterKnownColor.Yellow); RasterImage image = null; Font font = null; StringFormat stringFormat = null; // Create the frames for (int frame = 0; frame < frameCount; frame++) { RasterImage frameImage = new RasterImage( RasterMemoryFlags.Conventional, frameWidth, frameHeight, 24, RasterByteOrder.Bgr, RasterViewPerspective.BottomLeft, null, IntPtr.Zero, 0) { // Set the frame properties AnimationDelay = delay[frame], AnimationOffset = offset[frame], AnimationDisposalMethod = disposalMethod[frame], // Background is white AnimationBackground = backgroundColor }; // Draw the number of the frame on its surface IntPtr hdc = RasterImagePainter.CreateLeadDC(frameImage); Graphics g = Graphics.FromHdc(hdc); Rectangle rc = new Rectangle(0, 0, frameWidth, frameHeight); Brush brush = new SolidBrush(RasterColorConverter.ToColor(backColor[frame])); g.FillRectangle(brush, rc); brush.Dispose(); if (font == null) { int fontHeight = MulDiv(72, GetDeviceCaps(hdc, LOGPIXELSY), 72); font = new Font("Consolas", fontHeight); stringFormat = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center }; } string str = string.Format("{0}", frame + 1); brush = new SolidBrush(RasterColorConverter.ToColor(foreColor[frame])); g.DrawString(str, font, brush, rc, stringFormat); brush.Dispose(); g.Dispose(); RasterImagePainter.DeleteLeadDC(hdc); if (image == null) image = frameImage; else image.AddPage(frameImage); } font.Dispose(); stringFormat.Dispose(); // Setup the global image properties image.AnimationGlobalSize = new LeadSize(frameWidth * 2, frameHeight * 2); image.AnimationGlobalLoop = 0; image.AnimationGlobalBackground = backgroundColor; // Convert this image to 8 bits/pixel ColorResolutionCommand cmd = new ColorResolutionCommand( ColorResolutionCommandMode.AllPages, 8, RasterByteOrder.Rgb, RasterDitheringMethod.None, ColorResolutionCommandPaletteFlags.Optimized, null); cmd.Run(image); RasterCodecs codecs = new RasterCodecs(); // Setup the GIF save options RasterColor[] animationPalette = image.GetPalette(); codecs.Options.Gif.Save.SetAnimationPalette(animationPalette); codecs.Options.Gif.Save.UseAnimationPalette = true; // The GIF Animation width & height, loop and background are // pulled automatically from the image // Save the file string fileName = Path.Combine(LEAD_VARS.ImagesDir, "AnimatedGifFile.gif"); codecs.Save(image, fileName, RasterImageFormat.Gif, 8, 1, image.PageCount, 1, CodecsSavePageMode.Overwrite); image.Dispose(); codecs.Dispose(); } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }

Leadtools Assembly

Convert(byte[],int,int,int,int,RasterByteOrder,RasterByteOrder,RasterColor[],RasterColor[],int,int,int,RasterConvertBufferFlags) Method

Convert(byte[],int,int,int,int,RasterByteOrder,RasterByteOrder,RasterColor[],RasterColor[],RasterColor16[],RasterColor16[],int,int,int,RasterConvertBufferFlags) Method

Convert(IntPtr,int,int,int,RasterByteOrder,RasterByteOrder,RasterColor[],RasterColor[],int,int,int,RasterConvertBufferFlags) Method

Convert(IntPtr,int,int,int,RasterByteOrder,RasterByteOrder,RasterColor[],RasterColor[],RasterColor16[],RasterColor16[],int,int,int,RasterConvertBufferFlags) Method