Creating an Image Label from Buffer

This example demonstrates how to create an image label from a memory buffer. This example uses the ICreator80 (CreatePosition, CreateImageLabelFromBuffer, CreateLabelStyle) methods.

 

var image = System.Drawing.Image.FromFile(C:\\sample.png);

Bitmap bmp = (Bitmap)image;

var ms = new MemoryStream();

image.Save(ms, image.RawFormat);

            System.Drawing.ImageConverter ic = newSystem.Drawing.ImageConverter();

 

Int32[] dwordArr = newInt32[bmp.Width * bmp.Height];

            for (int j = 0; j<bmp.Height; j++)

            {

                for(inti = 0; i<bmp.Width; i++)

                {

                    Color c = bmp.GetPixel(i, j);

dwordArr[(j * bmp.Width) + i] = (Int32) ((c.R << 0) | (c.G << 8) | (c.B << 16) | (c.A << 24));

                }

            }

            ITerrainImageLabel80 labelFromMemory = sgworld80.Creator.CreateImageLabelFromBuffer(sgworld80.Creator.CreatePosition(0, 0, 100), dwordArr, bmp.Width, bmp.Height, sgworld80.Creator.CreateLabelStyle());