圖片切割後只能顯示某部分 |
缺席
|
ksm731203
一般會員 發表:2 回覆:2 積分:0 註冊:2008-10-03 發送簡訊給我 |
不好意思又來發問,學校作學校專題又遇到問題
在作車牌辨識的專題,目前作到字元切割部分 [code cpp] TRect MyFix, MySource; MyFix = Rect(0,0,p2[1]-p1[1],pBitmap->Height); //p1[1]代表第1個字元左邊界,p2[1]代表第1個字元右邊界 MySource = Rect(p1[1],0,p2[1],pBitmap->Height); pBitmap->Canvas->CopyRect(MyFix, Image6->Canvas, MySource); pBitmap->Width=p2[1]-p1[1]; Image7->Width=pBitmap->Width; Image7->Height=pBitmap->Height; Image7->Picture->Bitmap->Assign(pBitmap) ; //------2------ MyFix = Rect(0,0,p2[2]-p1[2],pBitmap->Height); MySource = Rect(p1[2],0,p2[2],pBitmap->Height);// p1[2]代表第2個字元左邊界,p2[2]代表第2個字元右邊界 pBitmap->Canvas->CopyRect(MyFix, Image6->Canvas, MySource); pBitmap->Width=p2[2]-p1[2]; Image8->Width=pBitmap->Width; Image8->Height=pBitmap->Height; Image8->Picture->Bitmap->Assign(pBitmap) ; //以此類推,共用了7次 [/code] 以上是我在版上參考的切割圖片的程式,我是用上面的方法來切割車牌的7個字元 但是現在有個問題就是,好像某個字元只能顯示出"它的前一個字元的寬度"(5只能顯示1的寬度,S只能顯示-的寬度) 像這張圖 若前個字元是較寬的字元,是不會有這個問題 我有測試過每次只顯示單一個字元 , 7個都是完整的字元 還測試過把程式碼的順序交換 例如本來是 程式碼按順序 顯示第1個字元->顯示第7個字元 如果改成顯示1->2->7->3->4->5->6個字元 結果就像下圖 因為第顯示7個字元是接在顯示第2個字元的程式碼下面 (E按在1的後面) 所以第7個字元就只能顯示第2個字元寬度的部分(E只能顯示1的寬度部分),"5"反而又正常了 所以我的疑問是,是因為這個程式的用法不連續使用,否則就會造成這種結果嗎?? 有辨法讓它正常顯示 編輯記錄
ksm731203 重新編輯於 2008-11-04 17:32:42, 註解 無‧
|
ksm731203
一般會員 發表:2 回覆:2 積分:0 註冊:2008-10-03 發送簡訊給我 |
不好意思 後來我改個寫法就好了
[code cpp] Image7->Picture->Bitmap->Width=p2[1]-p1[1]; Image7->Picture->Bitmap->Height=pBitmap->Height; TRect MyFix, MySource; MyFix = Rect(0,0,p2[1]-p1[1],pBitmap->Height); // 固定大小 100x100 MySource = Rect(p1[1],0,p2[1],pBitmap->Height); // 打算取原圖的 offset 100x100 位置起算的 100x100 Image7->Canvas->CopyRect(MyFix, Image6->Canvas, MySource); [/code] 類似這樣~~ 本來的寫法我猜可能是pBitmap連續使用的關係吧~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |