開檔後轉灰階的問題 |
尚未結案
|
YAUYAU
一般會員 發表:38 回覆:26 積分:12 註冊:2003-09-25 發送簡訊給我 |
各位大大好,我想請問一個問題
我開完圖檔後,要做灰階化
但是不知道為什麼,圖的寬只會處理到與高一樣的大小
例我要處理400*300的圖,但是灰階化只做了300*300的大小
不知道程式哪裡有問題,麻煩高手指點一下
附上圖檔
這是錯誤的結果:
另外還有一個開圖檔的問題
就是我要開video分割出來的352*240的bmp圖檔
顯現時上半部的畫面都是黑的 只出現了下半部的畫面
不知道是不是BCB本身不能開的問題還是程式哪裡有錯
我用影像軟體把352*240sacle到400*300就可以正常的開啟
真是奇怪 附上圖檔
程式show出來的影像:
void __fastcall TForm1::OpneImage1Click(TObject *Sender)
{
if (!OpenPictureDialog1->Execute()) return;
FileName1 = OpenPictureDialog1->FileName; Image1->Picture->LoadFromFile(FileName1);
Image_Height = Image1->Height;
Image_Width = Image1->Width;
GetBitmap();
}
//-------------------------------------------------------------------- void __fastcall TForm1::GetBitmap(void)
{
Data = new long*[Image_Height];
Data_temp = new long*[Image_Height];
for(int j = 0; j < Image_Height; j++)
{
Data[j] = new long[Image_Width];
Data_temp[j] = new long[Image_Width];
for(int i = 0; i < Image_Width; i++)
Data[j][i] = Data_temp[j][i]= (Image1->Canvas->Pixels[j][i])&0xff; } } //-------------------------------------------------------------------- void __fastcall TForm1::SetBitmap(void)
{
for(int j = 0; j < Image_Height; j++)
for(int i = 0; i < Image_Width; i++) Image1->Canvas->Pixels[j][i] = TColor(RGB(Data[j][i],Data[j][i],Data[j][i])); }
//-------------------------------------------------------------------- void __fastcall TForm1::GrayClick(TObject *Sender)
{ for(int j = 0; j < Image_Height; j++)
for(int i = 0; i < Image_Width; i++)
{
Data[j][i] = Data[j][i] - (Data[j][i]%32);
}
SetBitmap(); } 發表人 - yauyau 於 2004/12/30 21:32:51
|
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |