private static void GetSnapshot(out Image img, out ObjectInventory.Entry entry) { int num; int num2; int num3; int num4; Snapshot snapshot = new Snapshot(Binding.FCE_ObjectRenderer_GetSnapshot(out num, out num2, out num3, out num4)); int num5 = num3 - num; int num6 = num4 - num2; if (num5 > num6) { int num7 = (num5 - num6) / 2; num2 -= num7; num4 += num7; } else { int num8 = (num6 - num5) / 2; num -= num8; num3 += num8; } Image image = snapshot.GetImage(); Bitmap bitmap = new Bitmap(256, 256); img = bitmap; using (Graphics graphics = Graphics.FromImage(img)) { graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.DrawImage(image, new Rectangle(3, 3, bitmap.Width - 6, bitmap.Height - 6), new Rectangle(num, num2, num3 - num, num4 - num2), GraphicsUnit.Pixel); } entry = new ObjectInventory.Entry(Binding.FCE_ObjectRenderer_GetSnapshotEntry()); Directory.CreateDirectory(ObjectRenderer.cachePath); try { ObjectRenderer.WritePNG(ObjectRenderer.cachePath + entry.Id + ".png", bitmap); } catch (Exception) { } }