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

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

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

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

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

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

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

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

 

如图:

 

 

代码:

 

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

 

 

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值