小编use*_*875的帖子

在 C# 中将图像转换为纯黑白的最快方法是什么?

在有人因为我没有检查其他帖子而指责我之前,我已经这样做了。我有一个关于将图像转换为灰度的现有技术的具体问题。

我已经通读了 SO 上的其他帖子,并且基本上从本网站的教程中复制了技术 3(ColorMatrix)。它工作得非常非常快。

我遇到的问题是我需要的是纯 BW 图像。(即:如果平均值(R,B,G)> 200 => 白色否则黑色)。我已经以简单的方式实现了它,实际上它几乎是教程中灰度算法的 10 倍。

我不是图像处理专家,想知道是否有任何方法可以修改教程中的片段以将图像转换为纯黑白。如果没有,任何有效的方法都可以。

编辑:

这是我用于黑白的代码(无脑方法):

public Bitmap make_bw(Bitmap original) {

    Bitmap output = new Bitmap(original.Width, original.Height);

    for (int i = 0; i < original.Width; i++) {

        for (int j = 0; j < original.Height; j++) {

            Color c = original.GetPixel(i, j);

            int average = ((c.R + c.B + c.G) / 3);

            if (average < 200)
                output.SetPixel(i, j, Color.Black);

            else
                output.SetPixel(i, j, Color.White);

        }
    }

    return output;       

}
Run Code Online (Sandbox Code Playgroud)

.net c# image image-processing

5
推荐指数
1
解决办法
3万
查看次数

制作 C# 项目 DLL 和 EXE

我正在开发一个项目,需要有一个可执行文件以便用户可以运行配置界面和一个可以嵌入其他项目以使用其他一些功能的 DLL。有没有办法让 Visual Studio 同时生成可执行文件和 DLL(而不是每次都手动切换)?

c# dll

5
推荐指数
1
解决办法
3523
查看次数

MIPS组装奇怪的跳跃

我可能在这里遗漏了一些非常明显的东西,但是我一直在重复这个问题而且我坚决地陷入困境.在下面的代码中,$8仅在增加时递增$2 != $0.现在我进行了双重和三重检查并且beq指令有效(例如,如果我将lop更改为end2,它确实会去那里).

但是,由于某种原因,$8即使执行分支,也会增加.

lop:   beq $3, $0, end2
       and $2, $3, $4

       sll $3, $3, 1

       beq $2, $0, lop     

       addi $8, $8, 1

       j lop
Run Code Online (Sandbox Code Playgroud)

我必须承认我完全难过了.

assembly mips

4
推荐指数
2
解决办法
2415
查看次数

桥和接口之间的区别

据我所知,Bridge模式的目的是引用维基百科"将抽象与其实现分离".那不就是接口的作用.通过决定接口并强制类使用该接口,任何其他类都可以与此接口进行交互,而无需任何有关内部工作的知识.

那么一个接口相当于一个Bridge?

design-patterns

4
推荐指数
1
解决办法
1621
查看次数

C#资源数组

我有一堆我在C#项目中使用的图片,我正在尝试将它们初始化以供以后使用.其中有50多个,它们都具有相同的名称格式.资源._#,其中#是图片编号.我想要做的是:

for(int i = 0; i < 100; i++) {
   pics[i] = Properties.Resources._i;
}
Run Code Online (Sandbox Code Playgroud)

我如何将索引嵌入名称?

谢谢,节日快乐.

编辑:刚才意识到如果我有一种方法在名称中嵌入索引,我可以只有一个函数根据给定的数字返回特定的图片,这样也可以.

c# resources

4
推荐指数
1
解决办法
4572
查看次数

在HTTP POST IIS ASP .NET上出现HTTP 405错误

我正在开发一个从另一个外部应用程序引用的Web应用程序.外部应用程序试图做一个POSTvdir打开时.此时,我收到HTTP 405错误:

HTTP错误405 - 不允许用于访问此页面的HTTP谓词.Internet信息服务(IIS)

我检查了IIS事件日志,我看到外部应用程序尝试发布,但我无法更改目录的权限,因为我需要一个扩展名.

有任何想法吗?

asp.net iis http

4
推荐指数
1
解决办法
3万
查看次数

C#返回枚举和int数组

我正在做一些我需要返回枚举和一系列int的东西.我可以绕过整个问题并使用int而不是枚举并将其添加为数组的第一个元素,但枚举确实有助于我的代码易读性.有没有办法同时返回两个?

c# enums

2
推荐指数
1
解决办法
1396
查看次数

JavaScript事件处理程序范围

我正在开发一个使用Google Maps API的应用程序.我以前没有使用javascript的经验.我想要做的是以下内容:

function SpeedMarker(position) {
    this.speed = 50;
    this.marker = new google.maps.Marker({
        position: position,
        map: map,
        icon: 'http://maps.google.com/mapfiles/markerA.png',
        zIndex: Math.round(position.lat() * -100000) << 5
    });
    google.maps.event.addListener(this.marker, 'click', this.ShowInfoWindow)        
}

SpeedMarker.prototype.ShowInfoWindow = function () {
    var contentString = 'stuff';
    infowindow = new google.maps.InfoWindow({
        content: contentString
    });
    infowindow.open(map, this.marker);
}
Run Code Online (Sandbox Code Playgroud)

问题是click事件发生在文档对象中,而this.marker在该上下文中不存在.

有没有办法在我创建的SpeedMarker对象中处理事件?

javascript

2
推荐指数
1
解决办法
1728
查看次数

实体框架环境事务

我读过当 aDbContext.SaveChanges()运行时,所有操作都会在幕后自动包装在一个事务中。也就是说,如果内部的任何操作SaveChanges()失败,一切都会回滚以保持一致的状态。

但是,我多次遇到的一个术语是更改可以作为环境事务的一部分运行。这到底是什么意思呢?

我的具体问题是:我有一个多线程应用程序,其中每个操作都有一个上下文。我的 DbContext 对象都没有跨不同线程共享。我能保证每个操作都DbContext.SaveChanges()在单独的事务中运行吗?

c#

2
推荐指数
1
解决办法
4421
查看次数

C#链接列表

非常基本的问题,但是对于c#链接列表是否有任何类似ToArray的函数,它将返回链表中仅部分元素的数组.

例如:假设我的列表有50个项目,我需要一个只有前20个的数组.我真的想避免循环.

谢谢,

下午

c# linked-list

0
推荐指数
1
解决办法
570
查看次数