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); }
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(); }