public void Test_Scale3X_UnmanagedBitmap() { using (var bitmapNew = new UnmanagedBitmap <Bgr32>(400, 400)) using (var bitmapOld = BitmapFactory.CreateEmpty(400, 400, PixelFormat.Format32bppRgb, Color.White)) { using (var graphics = Graphics.FromImage(bitmapOld)) using (var pen = new SolidBrush(Color.Blue)) { graphics.FillRectangle(pen, new Rectangle(30, 30, 340, 340)); } bitmapNew.Span.Fill(new Bgr32 { B = 255, G = 255, R = 255, Unused = 0 }); using (var bitmap = bitmapNew.AsBitmap()) using (var graphics = Graphics.FromImage(bitmap)) using (var pen = new SolidBrush(Color.Blue)) { graphics.FillRectangle(pen, new Rectangle(30, 30, 340, 340)); using (var scaledUnmanagedBitmap = bitmapNew.Scale3X()) using (var scaledNewBitmap = scaledUnmanagedBitmap.AsBitmap()) using (var scaledBitmap = bitmapOld.Scale3X()) { scaledNewBitmap.Save(@"new3x.png", ImageFormat.Png); scaledBitmap.Save(@"old3x.png", ImageFormat.Png); Assert.True(scaledBitmap.IsEqualTo(scaledNewBitmap), "New Scale3X doesn't compare to old."); } } } }
public MainForm() { InitializeComponent(); using (var stream = typeof(MainForm).Assembly.GetManifestResourceStream("FormApplication.character.png")) { var bitmap = (Bitmap)Bitmap.FromStream(stream); m_Bitmap = UnmanagedBitmap.FromHicon(bitmap.GetHicon()); } }
public void CreateTestImage() { _unmanagedTestBitmap = new UnmanagedBitmap <Bgr32>(400, 400); _unmanagedTestBitmap.Span.Fill(new Bgr32 { B = 255, G = 255, R = 255, Unused = 0 }); using (var bitmap = _unmanagedTestBitmap.AsBitmap()) using (var graphics = Graphics.FromImage(bitmap)) using (var pen = new SolidBrush(Color.Blue)) { graphics.FillRectangle(pen, new Rectangle(30, 30, 340, 340)); } _testBitmap = _unmanagedTestBitmap.AsBitmap(); }
//[Benchmark] public void Blur_UnmanagedBitmap() { using (var unmanagedBitmap = new UnmanagedBitmap <Bgr32>(400, 400)) { unmanagedBitmap.Span.Fill(new Bgr32 { B = 255, G = 255, R = 255 }); using (var bitmap = unmanagedBitmap.AsBitmap()) using (var graphics = Graphics.FromImage(bitmap)) using (var pen = new SolidBrush(Color.Blue)) { graphics.FillRectangle(pen, new Rectangle(30, 30, 340, 340)); } unmanagedBitmap.ApplyBoxBlur(10); } }