如何在.NET CF 2.0下调整位图的大小

时间:2009-07-04 20:01:59

标签: graphics windows-mobile compact-framework bitmap

我有一个Bitmap,我想以编程方式放大到原始大小的1.5倍或2倍。在.NET CF 2.0下有没有简单的方法呢?

2 个答案:

答案 0 :(得分:4)

一种“正常”方式是创建所需大小的新Bitmap,为其创建Graphics,然后使用Graphics.DrawImage(Point, Rectangle)将旧图像绘制到其上。 Compact Framework上是否有任何这些调用?

编辑:这是一个简短但完整的应用程序,适用于桌面:

using System;
using System.Drawing;

class Test
{
    static void Main()
    {
        using (Image original = Image.FromFile("original.jpg"))
        using (Bitmap bigger = new Bitmap(original.Width * 2,
                                   original.Height * 2,
                                   original.PixelFormat))
        using (Graphics g = Graphics.FromImage(bigger))
        {
            g.DrawImage(original, new Rectangle(Point.Empty, bigger.Size));
            bigger.Save("bigger.jpg");
        }
    }
}

尽管这有效,但在插值等方面可能有更好的方法。如果它适用于Compact Framework,它至少会给你一个起点。

答案 1 :(得分:1)

CF可以访问标准的Graphics和Bitmap对象,如完整的框架。

  • 将原始图像转换为位图
  • 创建所需大小的新位图
  • 将Graphics对象与NEW Bitmap相关联
  • 使用旧图片和重载来调用g.DrawImage()以指定宽度/高度
  • 处理事情

版本: .NET Compact Framework 受以下支持:3.5,2.0,1.0