-
- usingSystem;
- usingSystem.Collections.Generic;
- usingSystem.Text;
- usingSystem.Windows.Forms;
- usingSystem.Drawing;
- usingSystem.IO;
- usingSystem.Drawing.Design;
- namespace图片查看
- {
- #region展示大图
- classShowPicture
- {
- #region缩放图片尺寸
- ///<summary>
- ///按原始比例缩放图片的高和宽,并且使高小于等于MAX_Y,宽小于等于MAX_X
- ///</summary>
- ///<paramname="x">图片的宽</param>
- ///<paramname="y">图片的高</param>
- ///<paramname="MAX_X">PictureBox的高</param>
- ///<paramname="MAX_Y">PictureBox的宽</param>
- ///<returns></returns>
- privatestaticSizeZoom(doublex,doubley,intMAX_X,intMAX_Y)
- {
- doubleSCALE=x/y;
- if(x>MAX_X||y>MAX_Y)//修正原来的与运算符
- {
- if(x>y)
- {
- for(x=MAX_X;;)
- {
- y=x/SCALE;
- if(y<=MAX_Y)
- break;
- else
- x--;
- }
- }
- else
- {
- for(y=MAX_Y;;)
- {
- x=SCALE*y;
- if(x<=MAX_X)
- break;
- else
- y--;
- }
- }
- }
- returnnewSize((int)x,(int)y);
- }
- #endregion
- ///<summary>
- ///在新窗体中展示大图
- ///2008-10-26修改
- ///</summary>
- ///<paramname="image">图片</param>
- publicstaticvoidShow(ImageOriginalImage)
- {
- if(OriginalImage!=null)
- {
- FormshowPicture=newForm();
- showPicture.BackColor=Color.Snow;
- showPicture.Text="图片查看器";
- showPicture.WindowState=FormWindowState.Maximized;
- PictureBox图片_show_pictureBox=newPictureBox();
- 图片_show_pictureBox.BackColor=Color.Black;
- 图片_show_pictureBox.BorderStyle=BorderStyle.FixedSingle;
- 图片_show_pictureBox.Size=Zoom(OriginalImage.Width,OriginalImage.Height,900,675);
- 图片_show_pictureBox.Image=OriginalImage;
- 图片_show_pictureBox.SizeMode=PictureBoxSizeMode.StretchImage;
- 图片_show_pictureBox.Location=newPoint((1024-图片_show_pictureBox.Size.Width)/2,(675-图片_show_pictureBox.Size.Height)/2);
- showPicture.Controls.Add(图片_show_pictureBox);
- //图片_show_pictureBox.Anchor=AnchorStyles.Bottom|AnchorStyles.Left|AnchorStyles.Right|AnchorStyles.Top;//自动随窗体大小变化
- showPicture.ShowDialog();
- GC.Collect();
- }
- }
- #endregion
- }
- #endregion
- }