Beispiel #1
0
        public void DrawImage(UnsafeBitmap picture, int X, int Y, int srcWidth, int srcHeight)
        {
            PixelData *data;
            Color      color;

            for (int W = 0; W < srcWidth; W++)
            {
                for (int H = 0; H < srcHeight; H++)
                {
                    if (X + W < 0 || X + W > picture.WorkingPicture.Width || Y + H < 0 || Y + H > picture.WorkingPicture.Height)
                    {
                        continue;
                    }
                    color       = picture.GetPixel(X + W, Y + H);
                    data        = (PixelData *)(StartByte + (H)*PictureWidth + (W)*sizeof(PixelData));
                    data->Alpha = color.A;
                    data->Red   = color.R;
                    data->Green = color.G;
                    data->Blue  = color.B;
                }
            }
        }
Beispiel #2
0
        public void DrawImage(UnsafeBitmap picture, Point Target, Rectangle Source)
        {
            PixelData *data;
            Color      color;

            for (int W = 0; W < Source.Width; W++)
            {
                for (int H = 0; H < Source.Height; H++)
                {
                    if (Source.X + W < 0 || Source.X + W > picture.WorkingPicture.Width || Source.Y + H < 0 || Source.Y + H > picture.WorkingPicture.Height ||
                        Target.X + W < 0 || Target.Y + H < 0)
                    {
                        continue;
                    }
                    color       = picture.GetPixel(Source.X + W, Source.Y + H);
                    data        = (PixelData *)(StartByte + (Target.Y + H) * PictureWidth + (Target.X + W) * sizeof(PixelData));
                    data->Alpha = color.A;
                    data->Red   = color.R;
                    data->Green = color.G;
                    data->Blue  = color.B;
                }
            }
        }