C# 为什么读取一张PNG的图片,无论显示还是保存成其他格式的图片都是一片黑?

三国小将 2018-09-22 07:06:35


就是这张图片,我想识别图片中的条形码,但是这个图片保存成jpg之后是一片黑,全像素 rgb 为0,0,0.
读取内存的方法也试过,内存里面都是0,0,0,255这种。
windows自带的画图板之类的程序却可以正常读取,另存之后就正常了,但是我这种图片还有很多只能以程序处理,求指点该如何处理这个图片
...全文
890 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
number1killer 2018-09-26
  • 打赏
  • 举报
回复
默认的背景颜色是黑色?凑个热闹
csdncsdntoo 2018-09-26
  • 打赏
  • 举报
回复
打上//不用/来表示路径试试
  • 打赏
  • 举报
回复
修改判断条件就好了
xuzuning 2018-09-24
  • 打赏
  • 举报
回复
把判断条件改为 if (c.A > 0) 就看出来了

他是在全黑的背景上通过透明度来表现画面的
橘子皮... 2018-09-24
  • 打赏
  • 举报
回复
透明度~~~
xuzuning 2018-09-24
  • 打赏
  • 举报
回复
比如
            for (var x = 0; x < img.Width; x++)
{
Console.Write(img.GetPixel(x, 10).A > 0 ? "1" : "0");
}
就可得:
111111111100000111110000000000111110000000000000000000011111111111111100000111111111100000000000000011111000001111111111111110000000000000001111100000111111111100000111110000011111111110000000000000001111100000000000000011111000001111100000000000000011111111110000000000000001111111111000001111100000000000000011111000000000000000111110000011111111111111100000111111111111111111110000011111000000000011111000000000011111111111111111111000001111111111000000000011111000000000000000000001111100000111111111100000111111111100000000001111111111000000000011111000000000000000111110000000000111111111100000000001111100000000001111100000000000000000000111111111100000111110000011111111111111111111000001111111111111110000011111111111111100000111111111100000111110000000000000001111111111000001111100000000000000011111111111111100000111111111100000111111111100000000001111111111000000000011111111110000000000000001111111111111110000011111000001111111111
三国小将 2018-09-23
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
代码呢?
你这张图片,并无你说的问题

代码,我如果把img保存为jpg就黑了,全黑的那种
threenewbee 2018-09-23
  • 打赏
  • 举报
回复
png有透明颜色分量,你画的时候,掩码颜色是什么
xuzuning 2018-09-22
  • 打赏
  • 举报
回复
代码呢?
你这张图片,并无你说的问题

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧