图像与位图类


Answers:


67

Bitmap类是Image类的实现。Image类是一个抽象类;

Bitmap类包含12个构造函数,这些构造函数从不同的参数构造Bitmap对象。它可以从另一个位图以及图像的字符串地址构造位图。

在此综合示例中查看更多内容。


7
我认为您的意思是抽象图像类的实现。
肯尼(Jenny)2009年

38

这是一个澄清,因为我已经看到代码中完成的事情确实令人困惑-我认为以下示例可能会对其他人有所帮助。

正如其他人之前所说的-位图继承自Abstract Image

有效的抽象意味着您不能创建它的New()实例。

    Image imgBad1 = new Image();        // Bad - won't compile
    Image imgBad2 = new Image(200,200); // Bad - won't compile

但是您可以执行以下操作:

    Image imgGood;  // Not instantiated object!
    // Now you can do this
    imgGood = new Bitmap(200, 200);

如果执行以下操作,则现在可以像使用相同的位图对象一样使用imgGood:

    Bitmap bmpGood = new Bitmap(200,200);

这里的好处是您可以使用Graphics对象绘制imgGood对象

    Graphics gr = default(Graphics);
    gr = Graphics.FromImage(new Bitmap(1000, 1000));
    Rectangle rect = new Rectangle(50, 50, imgGood.Width, imgGood.Height); // where to draw
    gr.DrawImage(imgGood, rect);

imgGood在这里可以是任何Image对象-位图,图元文件或任何其他继承自Image的对象!


11

Image提供对任意图像的抽象访问,它定义了一组方法,这些方法可以逻辑地应用于Image的任何实现。它不限于任何特定的图像格式或实现。位图是封装Windows GDI位图对象的图像抽象类的特定实现。位图只是Image抽象类的特定实现,该类抽象基于GDI位图对象。

例如,您可以通过从Image类继承并实现abstract方法来创建对Image abstract的自己的实现。

无论如何,这只是OOP的简单基本用法,应该不难理解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.