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

Langage Delphi Discussion :

Manipulaion Images haute résolution


Sujet :

Langage Delphi

  1. #21
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Une bête erreur de ma part, un bout d'ancien code qui restait provoquait encore et toujours la même erreur...
    Bref, avec l'utilisation des métafiles, j'arrive a créer des fichiers .emf d'une taille supérieure à 10.000*10.000 pixels, exactement ce que je voulais, et le tout pour quelques Mo de données .
    Comme précisé dans le message ci dessus, c'est l'utilisation de l'exemple situé ici qui m'a permis de résoudre le problème.

    Voila le code pour ceux que ça intéresseraient : :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    procedure TForm1.ExportAsMetaFile(FileName: string; Out_Canvas: TCanvas; FileFormat: boolean);
    var
      Meta: TMetaFile;
      MetaCanvas: TMetaFileCanvas;
      i: integer;
    begin
      Meta := TMetaFile.create;
      try
        Meta.Enhanced := FileFormat; // True pour ecrire un EMF format, False ppour un WMF
     
        Meta.Width := MapWidth ; //Tailles du Métafichier
        Meta.Height := MapHeight ;
     
        MetaCanvas := TMetaFileCanvas.Create(Meta,canvas.handle);
     
          try
            with metaCanvas do begin
              pen.Style := psSolid;        //Paramètres du tracé
              pen.width := 1;
              pen.mode  := pmcopy;
              brush.Style := bsClear;
              pen.Color := clBlack;
              For i:=1 to (MapWidth) do
                  Begin
                  Draw(Matrice_liens[i,0]*coef, Matrice_liens[i,1]*coef,Site);
                  Draw(Matrice_liens[Matrice_resultats[i],0]*coef, Matrice_liens[Matrice_resultats[i],1]*coef, Concentrateur);
                  PenPos := Point(Matrice_liens[i,0]*coef, Matrice_liens[i,1]*coef);
                  LineTo(Matrice_liens[Matrice_resultats[i],0]*coef,Matrice_liens[Matrice_resultats[i],1]*coef);
                  end;
            end;
          finally
            MetaCanvas.Free;
          end;
     
          Meta.saveToFile(Filename); // Sauve le dessin sous form d'un WMF ou d'un EMF (meta fichier de windows WMF est un format plus récent)
         // Le choix d'un WMF ou d'un EMF dépend de FileFormat (variable de la procédure)
      finally
        Meta.free;
      end;
        // Out_Canvas.Draw(0, 0, AMetaFile);
        // Recopie le contenue du metafile dans un TCanvas. Pour une impression (Canvas du TPrinter) une previsualisation ou le
        // Desin d'un composant par exemple
    end;
    Un grand merci à tous pour votre aide, pour vos idées et vos conseils.
    Continuez comme ça !
    Ceux qui veulent réussir trouvent des moyens, les autres trouvent des excuses...

  2. #22
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    J'adore les topics qui se terminent aussi bien : d'un truc insurmontable sentant le gaz (et le sapin) à 10 bornes, on passe à une solution élégante, simple et répondant à 100% du problème ! ;-)
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #23
    Membre à l'essai
    Inscrit en
    Octobre 2003
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    ^^ c'est assez plaisant en effet ^^
    Encore merci à tous
    Ceux qui veulent réussir trouvent des moyens, les autres trouvent des excuses...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Images] Traitement image très haute résolution avec PHP
    Par Snooky68 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/11/2011, 00h15
  2. images satelite haute résolution
    Par kaiseresis dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 18/09/2008, 11h38
  3. [Image] Sauvegarde d'images haute résolution en Java
    Par Tyler_Durden dans le forum 2D
    Réponses: 0
    Dernier message: 22/08/2008, 12h54
  4. [GD] Pb de Miniaturisation d'Images Haute definition
    Par drommk dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 08/01/2006, 11h46

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