我正在尝试为个人项目编写C#http服务器,我想知道如何将返回的服务器头从Microsoft-HTTPAPI/2.0更改为其他内容?
public class HttpWebServer
{
private HttpListener Listener;
public void Start()
{
Listener = new HttpListener();
Listener.Prefixes.Add("http://*:5555/");
Listener.Start();
Listener.BeginGetContext(ProcessRequest, Listener);
Console.WriteLine("Connection Started");
}
public void Stop()
{
Listener.Stop();
}
private void ProcessRequest(IAsyncResult result)
{
HttpListener listener = (HttpListener)result.AsyncState;
HttpListenerContext context = listener.EndGetContext(result);
string responseString = "<html>Hello World</html>";
byte[] buffer = Encoding.UTF8.GetBytes(responseString);
context.Response.ContentLength64 = buffer.Length;
System.IO.Stream output = context.Response.OutputStream;
output.Write(buffer, 0, buffer.Length);
output.Close();
Listener.BeginGetContext(ProcessRequest, Listener);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种从c#托管的GDI +库中检测 c#位图的边缘空白的解决方案.
图像可以是透明的或白色的,400x图像中的大多数是8000x8000px,边缘周围有大约2000px的空白.
找出边缘,x,y,高度和宽度坐标的最有效方法是什么?我尝试逐像素,但发现它很慢.
更新到解决方案 - 添加左/右/上/下边界
图像细节中心图像的问题现在裁剪任何透明(0%)或白色(#FFFFFF)像素.
var top = bitmap.Height;
var left = bitmap.Width;
var right = 0;
var bottom = 0;
Run Code Online (Sandbox Code Playgroud)
...
var pData = pData0 + (y * data.Stride) + (x * 4);
var xyAlpha = pData[3];
var xyBlue = pData[0];
var xyGreen = pData[1];
var xyRed = pData[2];
if ((xyAlpha > 0) || (xyRed != 255 && xyGreen != 255 && xyBlue != 255)) { …
Run Code Online (Sandbox Code Playgroud)