首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows中调整图像大小

在Windows中调整图像大小
EN

Stack Overflow用户
提问于 2009-03-21 11:12:52
回答 4查看 6.7K关注 0票数 0

有没有人知道在.net 2.0 Compact框架上调整图像大小的方法?

我希望能够从手机内存中获取图像,用手机上的摄像头拍摄,调整大小,然后上传到网络服务中,这样我就不需要将调整大小的图像存储在磁盘上了。

EN

回答 4

Stack Overflow用户

发布于 2009-05-19 13:21:40

这是我使用的C#代码,用于调整.NET CF2.0应用程序中图像的大小:

代码语言:javascript
复制
public static Image ResizePicture( Image image, Size maxSize )
{
  if( image == null )
    throw new ArgumentNullException( "image", "Null passed to ResizePictureToMaximum" );

  if( ( image.Width > maxSize.Width ) || ( image.Height > maxSize.Height ) )
  {
    Image resizedImage = new Bitmap( maxSize.Width, maxSize.Height );

    using( Graphics graphics = Graphics.FromImage( resizedImage ) )
    {
      graphics.Clear( Color.White );

      float widthRatio = maxSize.Width / image.Width;
      float heightRatio = maxSize.Height / image.Height;

      int width = maxSize.Width;
      int height = maxSize.Height;

      if( widthRatio > heightRatio )
      {
        width = ( int )Math.Ceiling( maxSize.Width * heightRatio );
      }
      else if( heightRatio > widthRatio )
      {
        height = ( int )Math.Ceiling( maxSize.Height * widthRatio );
      }

      graphics.DrawImage(
        image,
        new Rectangle( 0, 0, width, height ),
        new Rectangle( 0, 0, image.Width, image.Height ),
        GraphicsUnit.Pixel );
    }

    return resizedImage;
  }

  return image;
}
票数 2
EN

Stack Overflow用户

发布于 2009-03-23 07:29:44

Graphics.FromImage应该适用于jpg图像,但是您可能会遇到内存问题。

看看这个论坛帖子,了解一些想法。

票数 1
EN

Stack Overflow用户

发布于 2011-02-25 09:09:56

中缺少强制转换的c#代码

代码语言:javascript
复制
float widthRatio = (float) maxSize.Width / image.Width;

  float heightRatio = (float) maxSize.Height / image.Height;

并以图像为中心:

代码语言:javascript
复制
graphics.DrawImage(image, new Rectangle((maxSize.Width - width) / 2, (maxSize.Height -height ) / 2, width, height), new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/669137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档