IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres outils décisionnels Discussion :

redimensionner une image dans de texte RTF (RichEdit)


Sujet :

Autres outils décisionnels

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut redimensionner une image dans de texte RTF (RichEdit)
    Bonjour tt le monde,

    J’ai un petit souci avec les images insérées dans de texte RTF !!
    J’ai réussi déjà à insérer les image dans le RichEdit on utilisant un autre composant dérivé (RichEdit98) mais j’arrive pas à contrôle par code les images !!
    c-à-d, j’ai un fichier .RTF qui contient des images, je le charge dans le RichEdit98 qui permet l’utilisation des objets OLE !

    par ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var
       CurrentRichEdit: TRichEdit98;
       CurrentObjOLE : TReObject;
    begin
       FillChar(CurrentObjOLE, SizeOf(CurrentObjOLE), 0);
       CurrentObjOLE.cbStruct:= SizeOf(CurrentObjOLE);
       CurrentRichEdit.RichEditOle.GetObject( Longint(0), CurrentObjOLE, REO_GETOBJ_POLEOBJ Or REO_GETOBJ_POLESITE );
    end;
    j’ai arrivé à récupérer l’objet OLE (image)! En suite, j’ai utilisé :

    CurrentObjOLE.sizel.cx et CurrentObjOLE.sizel.cy pour redimensionner l’image !!! mais ça marche pas ! pas d’erreur mais pas de modif au niveau de l’image !!!

    J ss pas est c que j’ai parti sur la bn piste ou pas !
    Si vs avez des solutions …

    Merci d’avance.

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut une solution qui marche à 99.99%
    Bonjour,

    Bon si ça vous intéresse ! J’ai trouvé une (solution) qui me permit au mois de contrôler le zoom de l’image !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    var
                CurrentObjOLE : TReObject;
                tmpRTF: String;
    begin
     
                // Si le RichEdit ne contient pas des objets
                if ( CurrentRichEdit.RichEditOle.GetObjectCount = 0 ) then exit;
     
                // on récupère l''image (OLE)
                FillChar(CurrentObjOLE, SizeOf(CurrentObjOLE), 0);
                CurrentObjOLE.cbStruct:= SizeOf(CurrentObjOLE);
                CurrentRichEdit.RichEditOle.GetObject( IndexImg, CurrentObjOLE, REO_GETOBJ_POLEOBJ Or REO_GETOBJ_POLESITE );
     
                // Si l''index n''est pas valide
                if ( CurrentObjOLE.oleobj = nil) then exit;
     
                // On sélectionne l''image
                CurrentRichEdit.SelStart:= CurrentObjOLE.cp;
                CurrentRichEdit.SelLength:= 1;
                // On récupère le texte RTF de l''image
                tmpRTF:= CurrentRichEdit.RTFSelText;
                // On ajoute les attributs et la valeur de zoom
                tmpRTF:= AnsiReplaceStr( tmpRTF, '\picw', '\picscalex' + IntToStr(valueZoom) + '\picscaley' + IntToStr(valueZoom) + '\picw' );
                // On actualise le texte RTF de l''image
                CurrentRichEdit.RTFSelText:= tmpRTF;
     
    end;
    Par ce bout de code, j’ajoute la balise de zoom horizontal (picscalex) et le zoom vertical (picscalexy) au code RTF de l’image avec la valeur de zoom…

    Les limités de cette méthodes :
    - je ne peux pas savoir d’avance la taille ou le zoom de l’image
    - je ne peux pas savoir ou contrôler la taille de l’image en pixel

    Ce qui est bizarre ! RichEdit98 ne retourne pas les balises de zoom dans le code RTF de l’image !

    Si vous avez d’autres solutions ou d’autres pistes !..
    tkx

Discussions similaires

  1. [VB.NET] Redimensionner une image dans un PictureBox
    Par Monster77 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 05/04/2007, 18h24
  2. Insertion d'une image dans du texte dynamique
    Par djp_phillips dans le forum Flash
    Réponses: 10
    Dernier message: 18/03/2007, 19h34
  3. Réponses: 3
    Dernier message: 27/04/2006, 13h33
  4. Redimensionner une image dans une popup
    Par 12_darte_12 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/10/2005, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo