Q&A

  • 메신저에서이모콘디그림보내고 받는데 어떻게 한것인가요
메신저에서 이모콘디그림보개고 받고하면  상대방도 이모콘티가 보이잖아요..

어떻게 보낸것인가요..

저는 Text방식으로 보내니까 안돼요

이것은 어떤형식으로 상대방에게 보내나요..

소켓으로는 어떤방법으로 송신할수 있나요...
1  COMMENTS
  • Profile
    최용일 2002.11.27 02:37
    안녕하세요. 최용일입니다.

    이모티콘은 미리 준비해 놓으시고 프로토콜에 따라서 특별한 메세지가 왔을때 그 그림을 보여주시면 되겠죠...

    델파이의 TRichEdit는 그림넣는게 지원되는지는 잘 모르겠구요... RxLib의 TRxRichEdit는 아래와 같이 하시면 그림이 들어갑니다...

    function BitmapToRTF(pict: TBitmap): string;
    var
        bi,bb,rtf: string;
        bis,bbs: Cardinal;
        achar: ShortString;
        hexpict: string;
        I: Integer;
    begin
        GetDIBSizes(pict.Handle,bis,bbs);
        SetLength(bi,bis);
        SetLength(bb,bbs);
        GetDIB(pict.Handle,pict.Palette,PChar(bi)^,PChar(bb)^);
        rtf := '{rtf1 {pictdibitmap ';
        SetLength(hexpict,(Length(bb) + Length(bi)) * 2);
        I := 2;
        for bis := 1 to Length(bi) do
        begin
            achar := Format('%x',[Integer(bi[bis])]);
            if Length(achar) = 1 then
                achar := '0' + achar;
            hexpict[I-1] := achar[1];
            hexpict[I] := achar[2];
            Inc(I,2);
        end;
        for bbs := 1 to Length(bb) do
        begin
          achar := Format('%x',[Integer(bb[bbs])]);
          if Length(achar) = 1 then
              achar := '0' + achar;
          hexpict[I-1] := achar[1];
          hexpict[I] := achar[2];
          Inc(I,2);
        end;
        rtf := rtf + hexpict + ' }}';
        Result := rtf;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
        StringStream: TStringStream;
        Bitmap: TBitmap;
    begin
        Bitmap := TBitmap.Create;
        Bitmap.LoadFromFile('C:MyIcon.bmp');
        StringStream := TStringStream.Create(BitmapToRTF(Bitmap));
        Bitmap.Free;
        RxRichEdit1.PlainText := False;
        RxRichEdit1.StreamMode := [smSelection];
        RxRichEdit1.Lines.Add(StringStream.DataString);
        StringStream.Free;
    end;

    ^^ 항상 즐코하세요...