INSÉRER UNE IMAGE (BITMAP) DANS UN RICHEDIT (RXRICHEDIT)

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 4 déc. 2002 à 12:26
Rubicode Messages postés 2 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 10 novembre 2004 - 10 nov. 2004 à 11:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12231-inserer-une-image-bitmap-dans-un-richedit-rxrichedit

Rubicode Messages postés 2 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 10 novembre 2004
10 nov. 2004 à 11:39
Désolé,
Petite erreur, veuillez remplacer RxRichedit1 par RETX, dans le commentaire précédent.
Rubicode Messages postés 2 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 10 novembre 2004
10 nov. 2004 à 11:33
Salut,
Pour que l'image soit enregistrée dans le fichier RTF, j'ai trouvé deux solutions:

if RxRichedit1 <> nil then
if saveDialog1.execute then
begin
retx.streamMode:=[smPlainRtf];
retx.Lines.SaveToFile(saveDialog1.fileName);
end;

ou encore

if RETX <> nil then
if saveDialog1.execute then
begin
retx.SelectAll;
retx.Lines.SaveToFile(saveDialog1.fileName);
retx.SetSelection(0,0,true);
end;
cs_subzero Messages postés 71 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 24 février 2012
31 oct. 2003 à 13:04
ARF!!! J'ai parlé trop vite je crois! En effet, la transparence est dispo que sur les GIFs, et il faut faire une convertion assez balaise, j'ai l"impression! Je passe par word pour récupérer le code RTF de l'image que j'insère tel quel... Je vais qu'en même essayer de trouver une solution, à+
cs_subzero Messages postés 71 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 24 février 2012
31 oct. 2003 à 11:29
Salut! J'ai trouvé le moyen pour intégrer des fichiers avec transparence! Cela engendre le fait que le fichier final est moins lourd, puisque les pixels trnasparents ne sont pas enregistrés dans le fichier. Je vais modifier votre code pour ajouter cette fonction, je vous avertis que ce sera au point! :-) à+
cs_subzero Messages postés 71 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 24 février 2012
29 oct. 2003 à 16:44
Merci Spatul pour cette astuce! Elle m'a permis de concretiser un projet de tchat avec des smilies & détection d'url. Je me demandais si on pouvait faire pareil avec d'autres type d'objets, comme des cadres par exemple... En fait, je recherche le moyen d'afficher plusieurs couleurs de fond dans le RxRichEdit, si vous pouviez m'aider, ce serait vraiment sympa! Merci, à+
cs_copper Messages postés 6 Date d'inscription vendredi 30 août 2002 Statut Membre Dernière intervention 31 juillet 2003
31 juil. 2003 à 14:30
Très bon prog... J'ai utilisé la même technique (dibitmap) pour ajouter une image dans un document RTF malheureusement le fichier ne s'ouvre pas correctement sous Word 97 SR-2b (les images n'apparaissent pas) par contre le document s'ouvre correctement sous WordPad...

Quelqu'un a-t-il le même problème avec ce source?
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
5 déc. 2002 à 08:36
Justement ce qui m'intéresse c'est de le faire sans utiliser le presse-papiers :-/
Frostizz Messages postés 39 Date d'inscription jeudi 30 août 2001 Statut Membre Dernière intervention 23 janvier 2005
4 déc. 2002 à 17:26
Tu peut utiliser le press-papier... Si tu utilise Notepad et ke tu copie un bitmap avec le copier-couper-coller tu peu le recoller...
Donc tu sauve le press-papier, tu copie ton image dans le presse-papier tu la colle dans ton richBox, et tu recharge le presse-papier original...
Mail moi aussi non -> Frostizz@Tuxfamily.org
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
4 déc. 2002 à 16:02
J'avais deja vu ce code sur SwissDelphiCenter, mais je suis à la recherche d'un code adapté au TRichEdit, ne pouvant pas utiliser le TRxRichEdit en raison de quelques bugs... Si quelqu'un sait ;-)
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
4 déc. 2002 à 12:26
Les deux lignes suivantes :
achar:=Format('%x',[Integer(bi[bis])]);
if Length(achar)=1 then achar:='0'+achar;
pourraient être remplacées par :
achar := Format('%.2x', [Integer(bi[bis])]);
En effet, dans ce cas, on utilise l'indicateur de précision pour obtenir une chaine de deux caractères dans tous les cas et éviter un test.

Autre solution, utiliser la fonction IntToHex renvoyant une chaine :
achar := IntToHex(Integer(bb[bbs]), 2);
Rejoignez-nous