回 帖 发 新 帖 刷新版面

主题:很简单的问题,各位就看看了

很简单的问题,各位就看看了

我写的增强亮度的代码,为什么有这种错
Assigning Unsigned long to TColor


代码:
Image1->Picture->Bitmap->Assign(Image1->Picture->Bitmap);
    long r,g,b;
   // TColor color;
    w=Image1->Picture->Width;
    h=Image1->Picture->Height;
     for(long i=0;i<=w-1;i++)
       {  for(long j=0;j<=h-1;j++)
           {
             //color=Image1->Canvas->Pixels[j];
             r=GetRValue(Image1->Canvas->Pixels[j]);
             g=GetGValue(Image1->Canvas->Pixels[j]);
             b=GetBValue(Image1->Canvas->Pixels[j]);
             r=r+10;
             if(r>255)  r=255;
             g=g+10;
             if(g>255)  g=255;
             b=b+10;
             if(b>255)  b=255;
             Bitmap->Canvas->Pixels[j]=RGB(r,g,b);
            }
       }
       Image1->Picture->Bitmap->Assign(Bitmap);

回复列表 (共5个回复)

沙发

Bitmap->Canvas->Pixels[j]=RGB(r,g,b);
改为Bitmap->Canvas->Pixels[j]=(TColor)RGB(r,g,b);

板凳

很感谢,给你30分!1

3 楼

执行EXE文件 时,报地址错是怎么一回事啊

4 楼

大哥!你这样作不会觉得慢吗?BCB中己经提供了Scanline技术了,为什么不用?

5 楼

大哥,再详细点了,我学BCB还没一个月呢,编译时没任何错,就是运行EXE时,点增强亮度按纽时会报地址错,为什么 ?,帮帮我了

我来回复

您尚未登录,请登录后再回复。点此登录或注册