我们在火车站不是经常看到大的滚动字幕,他只有2种颜色
  现在问题就是:怎样把所选的图象变成2种颜色发送出去?
 
现给出能发送出1种颜色的代码
   procedure TForm1.Button1Click(Sender: TObject);
var
  NumRead,BmpW,BmpH,FillNum,Wbyte: Integer;
  BmpFile:File;
  Buffer:Array[1..1024] of byte;
  SendBuf:Array of byte;
  i:Integer;
begin
if OpenDialog1.FileName='' then  begin
      ShowMessage('没有指定发送图象文件!');
      exit;
  end;
      Setlength(SendBuf,4);
      for i:=0 to 3 do begin
        SendBuf[0]:=85;
        SendBuf[1]:=170;
        SendBuf[2]:=85;
        SendBuf[3]:=170;
      end;
      MsComm1.Output:=SendBuf;//通讯标志
      AssignFile(BmpFile,OpenDialog1.FileName);
      Reset(BmpFile,1);
      BlockRead(BmpFile,Buffer,18,NumRead);
      BlockRead(BmpFile,Buffer,4,NumRead);
      BmpW:=Buffer[1]+Buffer[2]*256;
      Wbyte:=BmpW div 8;
      Setlength(SendBuf,2);
      for i:=0 to 1 do
      SendBuf[i]:=Buffer[i+1];
      MsComm1.Output:=SendBuf;//宽度
      BlockRead(BmpFile,Buffer,4,NumRead);
      BmpH:=Buffer[1]+Buffer[2]*256;
      Setlength(SendBuf,2);
      for i:=0 to 1 do
      SendBuf[i]:=Buffer[i+1];
      MsComm1.Output:=SendBuf;//高度
      Setlength(SendBuf,2);
      SendBuf[0]:=Wbyte mod 256;
      SendBuf[1]:=Wbyte div 256;
      MsComm1.Output:=SendBuf;//宽度字节数
      Setlength(SendBuf,2);
      SendBuf[0]:=(Wbyte*BmpH) mod 256;
      SendBuf[1]:=(Wbyte*BmpH) div 256;
      MsComm1.Output:=SendBuf;//图象总字节数
      Setlength(SendBuf,2);
      SendBuf[0]:=Wbyte*16 mod 256;
      SendBuf[1]:=Wbyte*16 div 256;
      MsComm1.Output:=SendBuf;//相隔16行数据的位置
      Setlength(SendBuf,1);
      SendBuf[0]:=mode.ItemIndex;
      MsComm1.Output:=SendBuf;//显示模式
      FillNum:=(4-(BmpW div 8)mod 4)mod 4;
      BlockRead(BmpFile,Buffer,36,NumRead);
      Repeat
      BlockRead(BmpFile,Buffer,(BmpW div 8),NumRead);
      Setlength(SendBuf,NumRead);
      for i:=0 to NumRead-1 do
      SendBuf[NumRead-1-i]:=Buffer[i+1];
      BlockRead(BmpFile,Buffer,FillNum,NumRead);
      repeat
      until(MsComm1.OutBufferCount=0);
      MsComm1.Output:=SendBuf;
      until(NumRead=0) ;
      CloseFile(BmpFile);
      ShowMessage('发送完成!');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
      MSComm1.CommPort:=1;{使用COM2口为通信口}
      MSComm1.InBufferSize:=1024;{设定接收队列长度为1KB}
      MSComm1.OutBufferSize:=1024;{设定发送队列长度为1KB}
      MSComm1.Settings:='4800,N,8,1';{波特率9600b/s,无校验,8个数据位,1个停止位}
      MSComm1.InputLen:=0;{读取整个接收缓冲区内容}
      MSComm1.InBufferCount:=0;{清除接收缓冲区}
      MSComm1.PortOpen:=True;{打开串行口}
end;希望能马上解决,谢谢,谢谢,急急!!!!