把像素值轉成二進位 |
尚未結案
|
pork
一般會員 ![]() ![]() 發表:15 回覆:13 積分:5 註冊:2003-10-25 發送簡訊給我 |
|
nlj859
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
Hello pork, 參考底下10進制轉成2進制程式碼:
#include或 int n,temp,a[100]; temp = StrToInt(Edit1->Text); for (n=0 ; temp>0 ; n ) { a[n] = temp % 2 ; temp = temp / 2 ; } for (int i=n-1 ; i>=0 ; i--) Edit2->Text = Edit2->Text a[i] ;或 #include "IdGlobal.hpp" unsigned int i=255; ShowMessage(IntToBin(i));發表人 - nlj859 於 2004/10/11 23:30:37 |
pork
一般會員 ![]() ![]() 發表:15 回覆:13 積分:5 註冊:2003-10-25 發送簡訊給我 |
引言: int n,temp,a[100]; temp = StrToInt(Edit1->Text); for (n=0 ; temp>0 ; n ) { a[n] = temp % 2 ; temp = temp / 2 ; } for (int i=n-1 ; i>=0 ; i--) Edit2->Text = Edit2->Text a[i] ;感謝您的回覆 請問如上面的程式碼若是值轉換二進位之後 要補滿成為八位元要如何做呢 因為我要做的是能夠轉成把灰階像素值轉成二進位後 每一個值都用八位元來表示 再來可能是取前四位元或是後四位元來做運算 謝謝 pork 上 |
pork
一般會員 ![]() ![]() 發表:15 回覆:13 積分:5 註冊:2003-10-25 發送簡訊給我 |
nlj859兄您好
我將您指導的用在下面這段程式碼中
主要作用是要把一張圖的像素值取出後
取前四碼再將後四碼補0後還原回去
可是試驗時
如果是只有一個PIXEL的圖時就沒問題
可是如果跑2*2的圖就會在這一行出現問題
Edit2->Text=AnsiString::StringOfChar('0',8-Edit2-Text.Length())+Edit2->Text;
訊息是
Access violation at address 32657D07 in module‘CC3260MT.DLL’.Write of address 00000000 可否請您指導
謝謝 pork 上
void __fastcall TForm1::GetClick(TObject *Sender) { Graphics::TBitmap *Bmp1=new Graphics::TBitmap(); Graphics::TBitmap *Bmp2=new Graphics::TBitmap(); Bmp1->Assign(Image1->Picture->Bitmap); int n,temp,a[8],answer; for(int i=0;i |
pork
一般會員 ![]() ![]() 發表:15 回覆:13 積分:5 註冊:2003-10-25 發送簡訊給我 |
nlj859兄您好
依照您的指導把程式碼改掉後
錯誤訊息依舊一樣
Edit2->Text=AnsiString::StringOfChar('0',8-Edit2->Text.Length()) Edit2->Text; //這行錯誤
訊息是
Access violation at address 32657D07 in module‘CC3260MT.DLL’.Write of address 00000000 可否請您指導 可否請教
該錯誤訊息代表是麼意思
謝謝
pork上
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |