GDI+ 设置不同的分辨率来显示不同大小的图片

通过改变内存图像的分辨率来改变图像在屏幕的大小。

原理是:屏幕的大小/图像(内存的图像)的大小= 屏幕的分辨率/图像(内存的图像)的分辨率。

            注意:当图像的分辨率率变大时,图像本身的像素点的大小并没有改变。

                      比如图像的大小为1000*1000,分辨率为300,则图像的物理尺寸是 1000/300,

                           当图像的分辨率变为600时,则图像的物理尺寸是1000\600。变小 了,

                          根据上面的计算公式:屏幕的分辨率不变,图像的分辨率变大,图像的大小变小,则屏幕的大小变得更小。所以整张图片都变小了。

                        可以这样理解;当分辨率变大时,绘图表面大小不变。 像素点的大小缩小一半。又由于图像本身的像素点不变,所以整张图像都变小。

 

如图:

 

 

代码:

 

View Code
 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            var g 
= e.Graphics;
            Bitmap bm 
= new Bitmap("rama.jpg");
            bm.SetResolution(
600600);
            
this.Width = 600;
            
this.Height =600;
            Font f 
= new Font("aries",13);
            g.DrawImage(bm, 
00);
            g.DrawString(
"分辨率为600",f,Brushes.Red,0,200);
            Bitmap btm 
= new Bitmap("rama.jpg");
            btm.SetResolution(
12001200);
            g.DrawImage(btm, 
3000);
            g.DrawString(
"分辨率为1200", f, Brushes.Red, 300200);
        }

 

 

 用途:可以通过改变图像的分辨率来改变图像显示在屏幕上的大小。

 

posted on 2011-08-04 21:25  wtq  阅读(3455)  评论(0编辑  收藏  举报