public ImageEditForm(TRibbonImage image, ImageFlags flags) : this() { Bitmap uIImage; _image = image; _flags = flags; _bitmap = new Bitmap(64, 64, PixelFormat.Format32bppArgb); ClearBitmap(_bitmap); _filename = image.Owner.BuildAbsoluteFilename(image.Source); if (File.Exists(_filename)) { uIImage = AlphaBitmap.TryAlphaBitmapFromFile(_filename); try { Graphics canvas = Graphics.FromImage(_bitmap); canvas.DrawImage(uIImage, new Point((64 - uIImage.Width) / 2, (64 - uIImage.Height) / 2)); canvas.Dispose(); } finally { uIImage.Dispose(); } } EditImageFile.Text = _image.Source; if (_image.MinDpi == 0) { ComboBoxMinDpi.SelectedIndex = 0; } else if (_image.MinDpi < 108) { ComboBoxMinDpi.SelectedIndex = 1; } else if (_image.MinDpi < 132) { ComboBoxMinDpi.SelectedIndex = 2; } else if (_image.MinDpi < 156) { ComboBoxMinDpi.SelectedIndex = 3; } else { ComboBoxMinDpi.SelectedIndex = 4; } EditResourceId.Value = _image.Id; EditSymbol.Text = _image.Symbol; UpdateControls(); }
private void SetImageItem(ListViewItem item, TRibbonImage image) { string filename; Bitmap uIImage; int imageIndex; Bitmap bitmap; filename = image.Owner.BuildAbsoluteFilename(image.Source); if (File.Exists(filename)) { uIImage = AlphaBitmap.BitmapFromFile(filename); try { if ((uIImage.Width == _imageList.ImageSize.Width) && (uIImage.Height == _imageList.ImageSize.Height)) { bitmap = new Bitmap(_imageList.ImageSize.Width, _imageList.ImageSize.Height, PixelFormat.Format32bppArgb); Graphics canvas = Graphics.FromImage(bitmap); canvas.DrawImage(uIImage, 0, 0, _imageList.ImageSize.Width, _imageList.ImageSize.Height); canvas.Dispose(); imageIndex = _imageList.Images.Add(bitmap, Color.Transparent); } else { bitmap = new Bitmap(_imageList.ImageSize.Width, _imageList.ImageSize.Height, PixelFormat.Format32bppArgb); try { if ((uIImage.Width <= _imageList.ImageSize.Width) && (uIImage.Height <= _imageList.ImageSize.Height)) { Graphics canvas = Graphics.FromImage(bitmap); canvas.DrawImage(uIImage, (_imageList.ImageSize.Width - uIImage.Width) / 2, (_imageList.ImageSize.Height - uIImage.Height) / 2); canvas.Dispose(); } else { Graphics canvas = Graphics.FromImage(bitmap); canvas.DrawImage(uIImage, 0, 0, _imageList.ImageSize.Width, _imageList.ImageSize.Height); canvas.Dispose(); } imageIndex = _imageList.Images.Add(bitmap, Color.Transparent); } finally { bitmap.Dispose(); } } } finally { uIImage.Dispose(); } } else { imageIndex = -1; } item.ImageIndex = imageIndex; item.SubItems.Clear(); item.SubItems.Add(image.MinDpi.ToString()); item.SubItems.Add(image.Id.ToString()); item.SubItems.Add(image.Symbol); item.SubItems.Add(image.Source); item.Tag = image; }