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

Delphi Discussion :

Problème avec MetafileCanvas.create


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 41
    Par défaut Problème avec MetafileCanvas.create
    Bonjour,

    Dans mon application graphique, j'utilise un MetaFileCanvas pour transférer mon dessin dans le presse papier lors d'un copier-coller vers d'autres applications. Jusqu'à maintenant je faisais :


    --------------------------------------------------------------------------

    MetaFileCanvas:=TMetafileCanvas.Create(Metafile,Printer.Handle);

    --------------------------------------------------------------------------


    Ceci fonctionne très bien sur un ordinateur pourvu qu'il ait au moins un pilote d'imprimante installé... Evidemment, ça coince s'il n'y a aucune imprimante installée.

    J'ai essayé alors d'utiliser l'écran comme périphérique de référence pour la création de mon MetafileCanvas :

    --------------------------------------------------------------------------
    MetaFileCanvas:=TMetafileCanvas.Create(Metafile,0);

    --------------------------------------------------------------------------


    mais alors, certains détails de mon dessin ne sont plus lisibles sur le document final (traitement de texte) car la résolution est trop faible. Plus précisément je dessine, entre autres, des lignes en pointillés :
    sur l'écran, j'utilise le tableau Pixels[x,y] pour dessiner mes points;
    sur l'imprimante, je dessine des petits cercles de rayon 0,125 mm pour dessiner ces mêmes points. Si mon MetafileCanvas est basé sur l'écran comme périphérique de référence, les pixels sont trop petits pour apparaître sur l'imprimante une fois le dessin collé dans le document texte.

    Je cherche une solution permettant d'installer autoritairement une imprimante si l'ordinateur hôte n'en a pas. Quelqu'un sait-il comment faire ?

    Merci d'avance pour toute suggestion.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Par défaut
    Citation Envoyé par Aide de Delphi
    TMetafileCanvas.Create
    Create sets the size of the TMetafile object from ReferenceDevice if it does not already have the MMHeight and MMWidth properties set.
    Ma sudgestion est specifier un format avant la creation du Canvas du Metafile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        MyMetafile := TMetafile.Create;
        //En 0.01 milimetre
        MyMetafile.MMWidth:=21590;  //Equivaut a 8.5 pouces *25.4mm *100
        MyMetafile.MMHeight:=27940; //Equivaut a 11 pouces *25.4mm *100
        MetaFileCanvas:=TMetafileCanvas.Create(MyMetafile, 0);
    Alors pas besoin de Forcer l'installation d'une imprimante...
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  3. #3
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    +1, complêtement d'accord avec Eric

Discussions similaires

  1. Probléme avec TPicture.Create
    Par edam dans le forum Langage
    Réponses: 3
    Dernier message: 12/04/2012, 14h18
  2. [D7] Problème avec Form.Create et/ou Form.Activate
    Par alainvh dans le forum Débuter
    Réponses: 8
    Dernier message: 23/12/2010, 11h57
  3. Problème avec un CREATE TABLE avec le mysql de wamp
    Par alexlevenere dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/03/2010, 09h55
  4. Problème avec "grant create any procedure to"
    Par claclapub dans le forum SQL
    Réponses: 19
    Dernier message: 09/06/2008, 11h59
  5. Problème avec le controle "create user wizard"
    Par iTanger dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/05/2007, 10h22

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