Технологии

Решено

Через что можно загрузить с компьютера текст с картинками? - вопрос №83938

Возник такой вопрос, мне нужно чтобы при нажатии на кнопку выводился текст с картинками, но через какой компонент это сделать? Код приветствуется!)

май 26, 2011 г.

  • Всего ответов: 2

  • Евгений - аватарка

    Евгений

    9-й в

    код

    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 {\pict\dibitmap '
      SetLength(hexpict,(Length(bb) + Length(bi)) * 2); 
      I := 2
      for bis := to Length(bi) do 
      begin 
        achar := Format('%x',[Integer(bi[bis])]); 
        if Length(achar) = then 
          achar := '0' + achar; 
        hexpict[I-1] := achar[1]; 
        hexpict[I] := achar[2]; 
        Inc(I,2); 
      end
      for bbs := to Length(bb) do 
      begin 
        achar := Format('%x',[Integer(bb[bbs])]); 
        if Length(achar) = then 
          achar := '0' + achar; 
        hexpict[I-1] := achar[1]; 
        hexpict[I] := achar[2]; 
        Inc(I,2); 
      end
      rtf := rtf + hexpict + ' }}'
      Result := rtf; 
    end;

     

    и пример использования

    {SS это TStringStream, RE это TRxRichEdit, а BMP это TBitmap содержащий картинку.} 
    SS := TStringStream.Create(BitmapToRTF(BMP)); 
    RE.PlainText := False; 
    RE.StreamMode := [smSelection]; 
    RE.Lines.LoadFromStream(SS); 
    SS.Free;

    май 26, 2011 г.
    Ответ понравился автору
    Лучший ответ по мнению автора
  • Евгений - аватарка

    Евгений

    9-й в

    В стандартном RichEdit нельзя, для RichEdit с картинками используйте RichEdit из RxLib или JVCL.

    май 26, 2011 г.

Похожие вопросы