看板 C_Sharp 關於我們 聯絡資訊
如題 最近在載入我的程式的時候 發現有些圖片執行灰階化 會造成圖片歪曲 如圖所示:http://ppt.cc/~2fE 我是參考井全民那篇 http://0rz.tw/644s8http://ppt.cc/lX0Q 這篇網誌所寫的程式 不知道是哪邊的問題 載入網路上的圖片有些就正常 有些就會變上圖那樣 自己用小畫家畫的也是 有些正常 有些會變上面那樣 不知道是CODE哪個部分要注意嗎 煩請指導一下 謝謝 另外我想請問在圖片上畫一條方程式的直線該怎麼畫 目前是想畫 ρ=Xcosθ+Ysinθ的直線 其中ρ和θ為已知 不知道該怎麼畫 (不能用openCV) 再麻煩指導一下 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.35.64 ※ 編輯: st111840 來自: 123.193.35.64 (07/29 15:15)
damody:圖的寬度改成 8 的倍數 07/29 17:46
deo2000:跟灰階化無關, pixel read 和 set 位置不同造成的 07/29 22:04
deo2000:for(;condition;) <-我猜是 i<x 被你寫成 i<=x 07/29 22:08
deo2000:所以 x 每run一行就會多出1, 就變成現在看到的這樣 07/29 22:09
windsheep:確認一下Stride這個值, 看有沒有正確的使用 07/30 08:42
st111840:我的for迴圈是for(int j=0 ;j<Height ;j++) 07/30 12:09
st111840: for(int i=0;i<Width;i++) 07/30 12:09
※ 編輯: st111840 來自: 123.193.35.64 (07/30 12:10)
st111840:然後stride是直接用bytearray.stride 應該沒錯 07/30 12:11
st111840:這個狀況是只有某些圖片才會出現 有些就正常 所以搞不懂 07/30 12:11
st111840:是哪邊的問題 囧 07/30 12:12
st111840:剛試了一下1F大說的把長寬改8的倍數 原本不行的真的正常 07/30 13:04
st111840:了 不過不知道有沒有不更動原圖大小就能解決這問題的方法 07/30 13:05
windsheep:依你所述八成是stride沒真的用到..才會有的正常有的壞掉 07/30 13:38
windsheep:你的範例網頁有p+=skipByte; 這個有放對位置嘛? 07/30 13:38
st111840:我的p+=skipbyte 這個是放在width那層迴圈外height迴圈內 07/30 14:04
st111840:補充skipbyte=stride-bytearray.width*3 應該是沒錯吧 07/30 14:07
usherII:畫線 graphics.DrawLine 08/04 03:16
jenesis:畫線就把像素點座標當xy套math來畫也可以啊..公式都有了.. 08/25 01:32