小弟有一段c++程序(C++ builder),能否转成delphi上的
void __fastcall TForm1::Button2Click(TObject *Sender)
{
//图象黑白化
TColor bgr=0;
TColor Cb,Cg,Cr;for (int i = 0; i < 256; i++)
  for (int j = 0; j < 256; j++)
  {
    bgr=Image1->Canvas->Pixels[i][j];
    Cb=bgr & 0xff;
    Cg=bgr & 0xff00;  Cg=Cg >> 8;
    Cr=bgr & 0xff0000; Cr=Cr >> 16;
    WORD w=(Cb+Cg+Cr)/3;    Cb=(TColor)(w);
    Cg=(TColor)(w << 8);
    Cr=(TColor)(w << 16);    bgr=Cb | Cg | Cr;
    Image1->Canvas->Pixels[i][j] = bgr;
    nData[i][j]=(int)Cb;
  }//画直方图
unsigned int unSum=0;
int n;
//unsigned int unHisto[256];for(int i=0;i<256;i++) unHisto[i]=0;for (int i = 0; i < 256; i++)
  for (int j = 0; j < 256; j++)
  {
    n=nData[i][j];
    unHisto[n]=unHisto[n]+1;
  }  Image2->Canvas->Pen->Style = psSolid;
  Image2->Canvas->Pen->Color = clGray;
  for(int i=0;i<256;i++)
  {
    Image2->Canvas->MoveTo(0,i);
    Image2->Canvas->LineTo(345,i);
  }  int x0=25,y0=238;//原点
  int x1=305,y1=18;//轴终点
  int x2=280,y2=38;//数据终点  Image2->Canvas->Pen->Color = clBlack;  Image2->Canvas->MoveTo(x0,y0);
  Image2->Canvas->LineTo(x1,y0);  Image2->Canvas->MoveTo(x0,y0);
  Image2->Canvas->LineTo(x0,y1);  int m=0,nScale;
  for (int i = 0; i < 256; i++)
  {
    if(m<unHisto[i]) m=unHisto[i];
  }  nScale=m;
  for (int i = 0; i < 256; i++)
  {
    m=unHisto[i]*200/nScale;   Image2->Canvas->MoveTo(x0+i,y0);
   Image2->Canvas->LineTo(x0+i,y0-m);
  }}