http://groups.google.com/groups?hl=zh-CN&lr=&ie=UTF-8&oe=UTF-8&threadm=001501c2c2f6%244175d5a0%24d3f82ecf%40TK2MSFTNGXA10&rnum=1&prev=/groups%3Fq%3Dgdi%2Bzoom%2Bc%2523%26hl%3Dzh-CN%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26selm%3D001501c2c2f6%25244175d5a0%2524d3f82ecf%2540TK2MSFTNGXA10%26rnum%3D1

解决方案 »

  1.   

    那只是一个画大画小的问题.但是好像你的意思是要不失真,那是不可能的.除非你是SVG这些矢量画.
      

  2.   

    一个做缩略图的例子,希望对你能所帮助 
      System.Drawing.Image image = new Bitmap(@"E:\C#\aspnet\a.jpg");
      System.Drawing.Image pThumbnail = image.GetThumbnailImage(100, 100, null, new   IntPtr());
      Graphics g=Graphics.FromImage(pThumbnail);
      g.DrawImage(pThumbnail,10,10, pThumbnail.Width, pThumbnail.Height);
      pThumbnail.Save(@"e:\a.gif",ImageFormat.Gif);
      g.Dispose();
      

  3.   

    你只需在画图的时候指明图的长宽就行了,那么画图会自动按照你的尺寸进行缩放
    Graphics g=this.CreateGraphics();
    g.DrawImage(myBit,top,left,Width,Height);