示例#1
0
        private Surface _CreateSurfaceFromImage(cImage image, Rectangle rect)
        {
            var bitmap    = image.ToBitmap();
            var selection = bitmap.Clone(rect, bitmap.PixelFormat);
            var result    = Surface.CopyFromBitmap(selection);

            return(result);
        }
示例#2
0
        private void button1_Click(object sender, EventArgs e)
        {
            var    Item     = (TextureElement)TextureList.SelectedItem;
            var    InBitmap = (Bitmap)TextureView.Image;
            Bitmap OutBitmap;

            if (false)
            {
                var OutImage = new cImage(InBitmap.Width * 2, InBitmap.Height * 2);
                libXBR.Xbr2X(cImage.FromBitmap(InBitmap), 0, 0, OutImage, 0, 0, true);
                OutBitmap = OutImage.ToBitmap();
            }
            else
            {
                OutBitmap =
                    (new Engine(new ColorAlphaLerp(), new ColorAlphaThreshold(32, 32, 32, 32))).Process(InBitmap);
            }
            Item.TextureOpengl.SetData(
                OutBitmap.GetChannelsDataInterleaved(BitmapChannelList.Rgba).CastToStructArray <OutputPixel>(),
                OutBitmap.Width, OutBitmap.Height);
            UpdateTexture();
            TextureList.Focus();
        }