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

API, COM et SDKs Delphi Discussion :

Tbitmap et mise à l'echelle


Sujet :

API, COM et SDKs Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Tbitmap et mise à l'echelle
    Bonjour à tous
    Je travail actuellement sur un projet qui nécessite de dessiner sur bitmap. Mon problème est que le dessin que je dois effectuer est bien supérieur en taille à la capacité d'un Tbimap.
    Je sais que sous visual basic il éxiste une propriété echelle sur les bitmaps (par éxemple on définie le bitmap en 1000*1000 pxls, avec une taille de travail de 1000000*1000000), ce qui fait qu'on peut faire des dessins immenses qui sont rapportés au final à la taille du bitmap.
    Existe une propriété identique sur les Tbitmap delphi, ou alors connaissez vous un composant permettant de telles manip ?

    J'espère que vous aurez compris mon problème, et je vous remercie d'avance pour votre aide

    @+

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Avec les API Windows, ça devrait marcher (pas tester) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ACanvas:=TonBitMap.Canvas;
    SetMapMode(ACanvas.Handle, MM_ANISOTROPIC);
    SetWindowOrgEx(ACanvas.Handle, 0, 0, nil);
    SetWindowExtEx(ACanvas.Handle, LargeurRelative, HauteurRelative, nil);
    SetViewportExtEx(ACanvas.Handle, LargeurRelative, HauteurRelative, nil);
    //Ton code de dessin
    ....

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Je te remercie, mais je n'arrive pas vraiment à comprendre comment utiliser ces fonctions. Je pense avoir trouver la doc adequat chez Microsoft, mais il va me falloir un peu de temps pour déchiffrer tout ça.
    Si tu as a un petit éxemple d'utilisation je suis preneur ... Ent tout cas je vous tiens au courant
    à plus
    Au fait, en passant tu passeras le bonjours à Landerneau ...

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par richard dev
    Je te remercie, mais je n'arrive pas vraiment à comprendre comment utiliser ces fonctions. Je pense avoir trouver la doc adequat chez Microsoft, mais il va me falloir un peu de temps pour déchiffrer tout ça.
    Si tu as a un petit éxemple d'utilisation je suis preneur ... Ent tout cas je vous tiens au courant
    à plus
    Au fait, en passant tu passeras le bonjours à Landerneau ...
    Si ça peut t'aider j'ai trouvé ça comme explications sur le site de efg (http://www.efg2.com/Lab/Library/Delp...I.htm#APICalls) :
    SetViewPortEx
    Sets the value for how much is added to a coordinate as it reaches the device coordinate system.
    SetViewportExtEx
    Sets a factor that is multiplied by the coordinate as it arrives at the device coordinate system.
    SetWindowExtEx
    Sets a factor that is divided out of the coordinate as it leaves the logical coordinate system.
    SetWindowOrgEx
    Sets the value for how much is subtracted from a coordinate as it leaves the logical coordinate system.[
    Sinon, il y a un super tutoriel ici (en Anglais) :
    http://www.functionx.com/delphi/gdi/gdicoord.htm

    Au fait, en passant tu passeras le bonjours à Landerneau ...
    D'accord

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci pour les liens je vais regarder ça

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    salut tout le monde

    Tu avais raison !
    C'est effectivement grace au tutoriel que j'ai réussi à faire mon dessin. Je suis agréablement surpris car en plus le dessin est beaucoup plus rapide que ce que je pensai.
    Un grand merci pour ces informations précieuses et probablement à une prochaines fois ...
    Si le résultat est concluant, je mettrai le code en ligne.

    ciao

    richard

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [iText] mise à l'echelle d'un JScrollPane dans un pdf
    Par titigafr dans le forum Documents
    Réponses: 0
    Dernier message: 26/06/2014, 15h03
  2. [PC portable] HP Compaq 8710w mise à l'echelle en dual screen
    Par pio_killer dans le forum Ordinateurs
    Réponses: 10
    Dernier message: 09/02/2012, 14h10
  3. la mise en echelle de deux silhouette
    Par spilberg dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 07/05/2011, 21h04
  4. [XL-2007] Mise en page - Mise à l'echelle différente selon les pages
    Par pael013 dans le forum Excel
    Réponses: 4
    Dernier message: 03/09/2009, 12h30
  5. mise à l'echelle
    Par hiko-seijuro dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 06/04/2006, 15h09

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