作者st111840 (小白)
看板C_Sharp
标题[问题] 图片转灰阶化问题
时间Mon Jul 29 15:13:54 2013
如题
最近在载入我的程式的时候
发现有些图片执行灰阶化 会造成图片歪曲
如图所示:
http://ppt.cc/~2fE
我是参考井全民那篇
http://0rz.tw/644s8
和
http://ppt.cc/lX0Q 这篇网志所写的程式
不知道是哪边的问题
载入网路上的图片有些就正常 有些就会变上图那样
自己用小画家画的也是 有些正常 有些会变上面那样
不知道是CODE哪个部分要注意吗 烦请指导一下 谢谢
另外我想请问在图片上画一条方程式的直线该怎麽画
目前是想画 ρ=Xcosθ+Ysinθ的直线
其中ρ和θ为已知 不知道该怎麽画 (不能用openCV)
再麻烦指导一下 谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.35.64
※ 编辑: st111840 来自: 123.193.35.64 (07/29 15:15)
1F:推 damody:图的宽度改成 8 的倍数 07/29 17:46
2F:推 deo2000:跟灰阶化无关, pixel read 和 set 位置不同造成的 07/29 22:04
3F:推 deo2000:for(;condition;) <-我猜是 i<x 被你写成 i<=x 07/29 22:08
4F:→ deo2000:所以 x 每run一行就会多出1, 就变成现在看到的这样 07/29 22:09
5F:推 windsheep:确认一下Stride这个值, 看有没有正确的使用 07/30 08:42
6F:→ st111840:我的for回圈是for(int j=0 ;j<Height ;j++) 07/30 12:09
7F:→ st111840: for(int i=0;i<Width;i++) 07/30 12:09
※ 编辑: st111840 来自: 123.193.35.64 (07/30 12:10)
8F:→ st111840:然後stride是直接用bytearray.stride 应该没错 07/30 12:11
9F:→ st111840:这个状况是只有某些图片才会出现 有些就正常 所以搞不懂 07/30 12:11
10F:→ st111840:是哪边的问题 囧 07/30 12:12
11F:→ st111840:刚试了一下1F大说的把长宽改8的倍数 原本不行的真的正常 07/30 13:04
12F:→ st111840:了 不过不知道有没有不更动原图大小就能解决这问题的方法 07/30 13:05
13F:推 windsheep:依你所述八成是stride没真的用到..才会有的正常有的坏掉 07/30 13:38
14F:→ windsheep:你的范例网页有p+=skipByte; 这个有放对位置嘛? 07/30 13:38
15F:→ st111840:我的p+=skipbyte 这个是放在width那层回圈外height回圈内 07/30 14:04
16F:→ st111840:补充skipbyte=stride-bytearray.width*3 应该是没错吧 07/30 14:07
17F:→ usherII:画线 graphics.DrawLine 08/04 03:16
18F:→ jenesis:画线就把像素点座标当xy套math来画也可以啊..公式都有了.. 08/25 01:32