1
A
回答
1
我真的不确定我是否正确地理解了你,但是这里有一个代码只能让图像的红色部分可见。
与200相比,您可以通过将其更改为<来将其更改为仅显示不可见的红色部分。 您也可以玩数字200来查看什么阈值适合您的红色检查。
private static unsafe void OnlyRed(Bitmap bitmap, Color replacement)
{
var redOffset = 0;
var bpp = 32;
var bytesRep = new List<byte> {replacement.R, replacement.G, replacement.B};
switch (bitmap.PixelFormat)
{
case PixelFormat.Format24bppRgb:
bpp = 24;
break;
case PixelFormat.Format32bppArgb:
redOffset = 8;
bytesRep.Insert(0, replacement.A);
break;
case PixelFormat.Format32bppRgb:
case PixelFormat.Canonical:
bytesRep.Add(replacement.A);
break;
default:
throw new NotSupportedException("Pixel format unsupported.");
}
var data = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.ReadWrite,
bitmap.PixelFormat);
var start = (byte*)data.Scan0;
var end = start + data.Height * data.Stride;
for (var curr = start; curr < end; curr += bpp/8)
{
if (curr[redOffset] > 200)
{
continue;
}
for (var i = 0; i < bytesRep.Count; i++)
{
curr[i] = bytesRep[i];
}
}
bitmap.UnlockBits(data);
}
用法:
var bitmap = new Bitmap("file location...");
OnlyRed(bitmap, Color.Transparent);
相关问题
- 1. 如何在C中使用灰色卡进行颜色平衡#
- 2. 如何使用PHP提供颜色编码的Java代码?
- 3. 如何使用颜色代码声明
- 4. 在phpBB颜色代码中重新启用行情颜色代码
- 5. 使用C#进行颜色检测
- 6. 在System.Drawing.Color中使用十六进制颜色代码
- 7. Visual Studio C#代码颜色
- 8. 如何在PHP中使用十六进制颜色代码循环?
- 9. 如何在Java中使用UUID生成颜色代码
- 10. 如何在android中使用cmyk颜色代码?
- 11. 从十六进制颜色代码中找到颜色名称
- 12. 在Windows中使用C++进行颜色控制台输出
- 13. 如何在使用C#的代码中更改datagridview headercell的背景颜色?
- 14. 使用java从css中提取十六进制颜色
- 15. 在c#中将代表颜色的长数值转换为ARGB颜色代码#
- 16. 从.png文件中获取颜色的HTML颜色代码?
- 17. 如何从Visual Studio中的颜色对话框中获取十六进制颜色代码?
- 18. 用户使用HTML颜色代码选择背景颜色
- 19. CAShapeLayer描边颜色未读取十六进制颜色代码转换
- 20. 获取两种颜色之间所有颜色的十六进制代码?
- 21. 如何从java中的十六进制代码获取颜色的名称?
- 22. 如何使用颜色代码使用JSON
- 23. R/Dygraphs十六进制颜色代码
- 24. 将十六进制颜色代码转换为颜色名称
- 25. 是否有可能取代使用jQuery的颜色代码?
- 26. 如何使用Scapy提取HTML代码?
- 27. 在Android中获取`Color.xml`中保存的颜色的html颜色代码
- 28. 如何使用RSpec在Ruby中使用Windows命令提示符获取颜色?
- 29. 如何从C#中的硒webdriver中的颜色调色板中获取颜色#
- 30. 使用哪种颜色代码?
当你说裁剪,你的意思是......?你想删除红框?你想让图像中的所有红色变成白色/透明/等? – SimpleVar 2012-04-21 09:48:07
我的意思是用指定的颜色剪裁物体 – user2012 2012-04-21 10:09:27
例如红色的球在图像中 – user2012 2012-04-21 10:12:52