Accueil > Forum > > > > BUG IMPRESSION DELPHI
BUG IMPRESSION DELPHI
mercredi 26 novembre 2003 à 10:08:01 |
BUG IMPRESSION DELPHI

exae
|
J'ai un problème d'impression sous W98. Pic := TPicture.Create; Pic.LoadFromFile( 'c:\WINDOWS\monBmp.bmp' ); Printer.BeginDoc; Printer.Canvas.StretchDraw( Rect( 100, 100, 200, 200), Pic.Graphic ); Printer.EndDoc; Pic.Free; Ce code fonctionne parfaitement sous XP mais image vide sous 98. J'ai aussi essayé avec l'API stretchblt mais sous W98 la fonction me retourne le message d'erreur : Paramètre incorrect. Que faire ? EXAE
|
|
mercredi 26 novembre 2003 à 10:55:45 |
Re : BUG IMPRESSION DELPHI

ManChesTer
|
var Bmp :Tbitmap;
Bmp := Tbitmap.Create; Bmp.LoadFromFile( 'c:\WINDOWS\monBmp.bmp' ); Printer.BeginDoc; Printer.Canvas.StretchDraw( Rect( 100, 100, 200, 200), Bmp ); Printer.EndDoc; Bmp.Free;
la ca devrais fontionner ;o))
Bon Coding ....
ManChesTer.
|
|
mercredi 26 novembre 2003 à 14:18:59 |
Re : BUG IMPRESSION DELPHI

exae
|
Merci d'avoir répondu aussi rapidement, mais ça ne fonctionne pas à 100%, en effet si j'ajoute ce code dans une boucle toute simple, les images sont de temps en temps vides.
Le problème existe sous W98 mais pas sous XP.
Exemple :
var Bmp :Tbitmap; i : Integer; Begin Bmp := Tbitmap.Create; Printer.BeginDoc; For i := 1 To 20 Do Begin // Pour simplifier je prend tjs la même image Bmp.LoadFromFile( 'c:\MonBmp.bmp' ); Printer.Canvas.StretchDraw( Rect( i * 100, 100, i * 100 + 100, 200 ), bmp ); End; Printer.EndDoc; Bmp.Free; End;
|
|
vendredi 29 juillet 2005 à 08:56:47 |
Re : BUG IMPRESSION DELPHI
|
vendredi 29 juillet 2005 à 13:29:08 |
Re : BUG IMPRESSION DELPHI

exae
|
Réponse acceptée !
Oui j'ai effectivement trouvé la solution, il ne faut jamais utiliser StrechDraw avec le canvas d'une imprimante.
Alors voici la fonction qui marche à tous les coups :
Procedure PrintBitmap(Canvas: TCanvas; DestRect: TRect; Bitmap: TBitmap);
Var
BitmapHeader: pBitmapInfo;
BitmapImage : POINTER;
HeaderSize : DWORD; // Use DWORD for D3-D5 compatibility
ImageSize : DWORD;
BEGIN
GetDIBSizes(Bitmap.Handle, HeaderSize, ImageSize);
GetMem(BitmapHeader, HeaderSize);
GetMem(BitmapImage, ImageSize);
Try
GetDIB(Bitmap.Handle, Bitmap.Palette, BitmapHeader^, BitmapImage^);
StretchDIBits(Canvas.Handle,
DestRect.Left, DestRect.Top, // Destination
Origin
DestRect.Right - DestRect.Left, // Destination Width
DestRect.Bottom - DestRect.Top, // Destination Height
0,
0,
// Source Origin
Bitmap.Width, Bitmap.Height, // Source Width
& Height
BitmapImage,
TBitmapInfo(BitmapHeader^),
DIB_RGB_COLORS,
SRCCOPY)
Finally
FreeMem(BitmapHeader);
FreeMem(BitmapImage)
End;
END;
 Apparement personne n'imprime d'image avec DELPHI !
|
|
samedi 30 juillet 2005 à 14:21:26 |
Re : BUG IMPRESSION DELPHI

ManChesTer
|
Arf désolé, je vins seulement de recevoir les mail me disant que se post avais bougé. Je t'aurais proposé :
procedure PrinterStretchDraw(R:TRect;Bmp:TBitmap); var BmpInfo, BmpData : Pointer; BmpInfoSize, BmpDataSize : Cardinal; begin GetDIBSizes(Bmp.Handle,BmpInfoSize,BmpDataSize); GetMem(BmpInfo,BmpInfoSize); GetMem(BmpData,BmpDataSize); try GetDIB(Bmp.Handle,Bmp.Palette,BmpInfo^,BmpData^); StretchDIBits(Printer.Canvas.Handle,R.Left,R.Top,R.Right,R.Bottom, 0,0,Bmp.Width,Bmp.Height,BmpData,TBitmapInfo(BmpInfo^), DIB_RGB_COLORS,SRCCOPY); finally FreeMem(BmpData); FreeMem(BmpInfo); end; end;
Pour l'utilisé :
with printer do begin Orientation:=poLandscape; BeginDoc; Canvas.Lock; PrinterStretchDraw(Rect(0,0,Printer.PageWidth,Printer.PageHeight),Tonbmp); Canvas.Unlock; EndDoc; end;
Tu peux biensur modifier la taille du Rect...
Bon Coding ....
ManChesTer.
|
|
Cette discussion est classée dans : impression, delphi, bug, printer, pic
Répondre à ce message
Sujets en rapport avec ce message
Problème impression [ par bouba ]
Bonjour, voici le code dont je me suis servis pour tester l'impression d'une simple chaine.procedure TfrmAssistantAvance.Button1Click(Sender: TObject)
RAVE REPORT ET DELPHI 7 [ par jlp_alexandre ]
Comment diriger une impression vers un PDF (ou un fichier) avec RAVE REPORT SANS IMPRESSION ?Quelque chose doit m'échapper quelque part.Bien merci par
Un bug dans Delphi 6 ? [ par Kane ]
Je viens d'ecrire le code suivant sous delphi 6 pro et j'obtient un drole de resultat ! Avant que la feuille devienne progressivement transparente ell
impression avec delphi [ par nasersoft ]
salutvoila j'ai une application qui genere une base de donnee dbf comporte de 30 a 35 champ, je veux dir que le nombre de champs n'est pas fix.ma deu
impression sous delphi 7 [ par didou2dek ]
bonjour,je viens d'acquérir delphi7 et je ne vois plus l'onglet quickreport dont j'avais l'habitude de me servir pour gerer des états.quelqu'un peut i
Bug Pentium 4 hyperthreading et applications delphi [ par magic56 ]
Bonjour,Je rencontre un problème au lancement de certains programmes que j'ai développé en Delphi. En effet, lorsque l'hyperthreading est lancé, le pr
Impression ? [ par stu76 ]
Bonjour à tous,Je suis confronté à une question quel composant delphi dois-je utiliser pour l'impression RaveReport ou Quickreport ? Je travail sous d
Aide pour Driver d'impression [ par MicFor ]
Bonjour,Je suis sur un projet et je cherche de l'aide pour la réalisation d'un driver d'impression spécifique.Le but du programme est de générer un .b
L'impression des Etat Sous Delphi 5 [ par sabrinafouad ]
Salut tous ... Veuillez SVP m'informer sur les astuces d'impression des etats sous delphi 5 ...Merci ...By FOUAD Mohammed ...
Impression Excel via Delphi [ par wisdeco81 ]
Bonjour, Je voudrais lancer l'impression d'une feuille excel directement depuis Delphi. Tout ce que j'ai réussi a faire pour l'instant c'est import
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Forum
RE : SAVEDIALOGRE : SAVEDIALOG par JulioDelphi
Cliquez pour lire la suite par JulioDelphi RE : SAVEDIALOGRE : SAVEDIALOG par zeydounnounou
Cliquez pour lire la suite par zeydounnounou
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|