我需要在C#中开发一个控制台应用程序,它将位图图像的名称作为main函数中的参数。应用程序必须分析文件中的图像内容,然后显示以控制几何形状及其颜色的类型。 条件: - 仅限未压缩的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);
`
答案 0 :(得分:0)
System.Drawing.Bitmap
有这种方法:
public Color GetPixel ( int x, int y );
除此之外,看起来确定位图是表示三角形,正方形还是矩形需要比找到该方法更多的韧性和足智多谋。你确定你能做到吗?