antp Super Administrateur Champion des excuses bidons | Pour un GIF je sais pas trop, mais pour les JPEG et les PNG il y a moyen de les convertir en BMP en interne pour les fournir au TImage.
Ex. de ce que je fais pour dessiner un PNG/JPEG/WMF/EMF sur un TImage (et donc converver le TImage en mode bitmap) plutôt que de charger l'image dans le TImage :
Code :
- Gr := InternalImage.Picture.Graphic;
- if Gr is TMetafile then
- begin
- if not PlayEnhMetaFile(Image.Canvas.Handle, InternalImage.Picture.Metafile.Handle, Rect(x1, y1, x2, y2)) then
- RaiseLastOSError;
- end
- else
- if Gr is TBitmap then
- Image.Canvas.CopyRect(Rect(x1, y1, x2, y2), InternalImage.Canvas, Rect(0, 0, InternalImage.Width, InternalImage.Height))
- else
- if Gr is TPNGObject then
- TPNGObject(Gr).Draw(Image.Canvas, Rect(x1, y1, x2, y2))
- else
- if Gr is TJPEGImage then
- begin
- TJPEGImage(Gr).DIBNeeded;
- Image.Canvas.StretchDraw(Rect(x1, y1, x2, y2), Gr)
- end
|
(InternalImage est un autre TImage, non visible, que je crée par code pour charger l'image) Message édité par antp le 18-04-2005 à 14:13:43 ---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
|