1

我需要在 C# 中开发一个控制台应用程序,它将位图图像的名称作为主函数中的参数。应用程序必须分析文件中的图像内容并显示以控制几何形状的类型及其颜色。条件: - 仅包含主要形式的 未压缩 BMP 文件:矩形、正方形和三角形 - 图像包含一种或多种形式 -形式是主要颜色- RGB 和白色背景不透明 - 不能使用Visual Studio提供的库以外的其他库对于 C# - 应用程序可以在命令行上接收一张或多张图片

所以,我正在使用绘图库,我想制作一个 bmp 像素矩阵。之后,我将穿过这个矩阵,我会发现图像中的图形。我找到第一个不是白色的像素(只有背景是白色的),然后我向右和向下追踪彩色路径(两个图形不能相交)。如果它们的长度相同,则为三角形或正方形,否则为三角形或矩形。我挖掘更多以找出它们中的哪一个。我删除形状并重复,因为可以有多个图形。一切看起来都很棒,但我对此很陌生,我需要帮助来实现这个东西。谁能帮帮我吗?

谢谢!

`    using System; 
    using System.Drawing;
    using System.Drawing.Imaging;

    namespace ConsoleApplication1
    {
        class Program
        {      
            static void Main(string[] args)
            {

                Bitmap bmp = new Bitmap("img1.bmp");
                int h, w;
                h = bmp.Height;
                w = bmp.Width;

                Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height); 

                System.Drawing.Imaging.BitmapData bmpData =bmp.LockBits
                 (rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
                 bmp.PixelFormat);
    `
4

1 回答 1

0

System.Drawing.Bitmap有这个方法:

public Color GetPixel ( int x, int y );

除此之外,似乎确定位图是代表三角形、正方形还是矩形需要比找到该方法更多的毅力和足智多谋。你确定你能做到吗?

于 2014-04-10T05:31:48.260 回答