Mêttre une image dans un buffer

Résolu
Utilisateur anonyme - 26 févr. 2006 à 21:36
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 - 1 mars 2006 à 22:46
Salut à tous,

Je voulais mettre une image qui se trouve dans un Timage, dans un buffer

J'ai donc déclaré ma variable buff et fait
repeat
Blockread(image1, Buff, SizeOf(Buff), lu);

Manque de bol, l y a un probleme de compilation : "types imcompatibles" au niveau due image1. Si quelqu'un à une idée pour contourner cette difficulté de mmanière simple.

Merci à tous

46 réponses

DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
1 mars 2006 à 11:16
j'ai essayé le TMemoryStream:

mais la ligne :

Image1.Picture.SaveToStream(TempStream);

n'est pas compilable

DrJerome
0
DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
1 mars 2006 à 11:25
il y a le classique : image1.Picture.Bitmap.SaveToStream

(à condition que ce soit un bitmap)

Et le Image1.Picture.Graphic.SaveToStream qui marchent

DrJerome
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
1 mars 2006 à 11:29
porcédure non déclarée--->encore une procédure qui manque!!

si dans le cas du move ce n'est pas trop gênant ici cela peut devenir problèmatique.

il n'y a plus qu'à passer par les compos.

jlen
0
DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
1 mars 2006 à 11:40
il y aussi la solution

avec
AFormat : word
AData:cardinal;
APalette:HPalette;


<HR>
image1.Picture.SaveToClipboardFormat(AFormat,AData,APalette);

<HR>

et on récupère avec :


<HR>
image2.Picture.LoadFromClipboardFormat(AFormat,AData,APalette);
<HR>

sinon les TMemorystream sont pratiques pour récupérer le header des bitmap...tout est bon à prendre

DrJerome
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
1 mars 2006 à 22:10
Vu la longueur du topic, j'en perd mon latin. Je pensais pas déclencher un tel débat lol. Juste pour conclure, le but était de charger une image dans un buffer sans passer par les streams. A priori la solution semble complexe lol.
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
1 mars 2006 à 22:46
et encore les intervention de wolf ont été supprimées.

ça à été un excellent remue-méninges!!

ce qui est complexe c'est qu'il s'agit d'un composant ou l'adresse du
bitmap n'est pas publiée ni non plus le pointeur qui la contient .Cela
t'oblige à des ruses de sioux ou à passer par les routines publiées

Surtout qu'en fait comme tu as ou le constater le Timage pointe sur un
Tpicture qui lui-même pointe soit sur un bitmap soit ... sur autre
chose ce qui complique même la gestion des Tstream.

Enfin on a quand même appris quelque chose !!!



@+

jlen
0
Rejoignez-nous