MSDN位置:http://msdn.microsoft.com/en-us/library/ms996463.aspx
这位哥们博客:http://blog.csdn.net/johnsuna/article/details/727655
效果图:
调用方法:
namespace KEEN_EYES
{
/// <summary>
/// 主画面FORM
/// </summary>
public partial class Main_Form : Form
{
// 显示图片
private PictureBox _picBox;
// 图片宽
private Label imgWLable;
// 图片高
private Label imgHLable;
// 标题
private Label titleLable;
/// <summary>
/// 打开文件
/// </summary>
private void openFileDlg()
{
Panel p = new Panel();
p.BorderStyle = BorderStyle.None;
// 显示缩略图
_picBox = new PictureBox();
// 预览
titleLable = new Label();
// 像素宽
imgWLable = new Label();
// 像素高
imgHLable = new Label();
p.Dock = DockStyle.Right;
p.Controls.Add(titleLable);
p.Controls.Add(imgWLable);
p.Controls.Add(imgHLable);
titleLable.Text = Constant.STR_PREVIEW;
titleLable.Dock = DockStyle.Top;
imgHLable.Dock = DockStyle.Bottom;
imgWLable.Dock = DockStyle.Bottom;
p.Controls.Add(_picBox);
_picBox.Dock = DockStyle.Fill;
_picBox.Size = new Size(60, 60);
_picBox.BackColor = System.Drawing.SystemColors.ButtonShadow;
_picBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
_picBox.BorderStyle = BorderStyle.FixedSingle;
// 添加后缀名
string filter = Constant.OPEN_ALL_IMG + Constant.OPEN_JPG_IMG + Constant.OPEN_TIF_IMG;
PreViewOpenFileDialog ofd = new PreViewOpenFileDialog("jpg", "", filter, p, this.Handle);
ofd.SelectionChanged += new PreViewOpenFileDialog.SelectionChangedHandler(ofd_SelectionChanged);
// 打开文件选择框
bool f = ofd.Show();
string filePath = ofd.SelectedPath;
if (f && !String.IsNullOrEmpty(filePath))
{
// 打开图片
}
}
/// <summary>
/// 选择图片
/// </summary>
/// <param name="path"></param>
private void ofd_SelectionChanged(string path)
{
if (!File.Exists(path)) return;
if (!Path.HasExtension(path)) return;
string ext = Path.GetExtension(path).ToLower();
//if (ext == ".jpeg" || ext == ".jpg" || ext == ".gif" || ext == ".png" || ext == ".tif" || ext == ".bmp")
if (ext == ".jpeg" || ext == ".jpg" || ext == ".tif" || ext == ".bmp")
{
Bitmap image1 = AForge.Imaging.Image.FromFile(path);
System.Drawing.Image originalImage = image1;//System.Drawing.Image.FromFile(path);
_picBox.Image = originalImage;
int widthOriginal = originalImage.Width;
int heightOriginal = originalImage.Height;
imgWLable.Text = Constant.STR_WIDTH + widthOriginal.ToString() + " " + Constant.STR_PIXELS;
imgHLable.Text = Constant.STR_HIGTH + heightOriginal.ToString() + " " + Constant.STR_PIXELS;
}
}
}
}