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

Lazarus Pascal Discussion :

AggPas : charger le background


Sujet :

Lazarus Pascal

Vue hybride

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 15
    Par défaut AggPas : charger le background
    Bonjour

    Je cherche a utiliser un aggcanvas pour charger une image de fond et tracer en surimpression des courbes, polygones avec la gestion du canal alpha.
    Le rendu final sera sauvegardé dans un png et affiché dans un Timage par exemple.

    La partie tracé fonctionne parfaitement mais je n'arrive pas a charger le background.
    Voici un code simplifié :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
     
    Unit Unit1;
     
    {$mode objfpc}{$H+}
     
    Interface
     
    Uses
    Classes, SysUtils, LCLProc, FileUtil, LResources, Forms, Controls, Graphics,
    Dialogs, ExtCtrls, FPimage, agg_fpimage, Agg_LCL;
     
    Type
     
      { TForm1 }
     
      TForm1 = Class(TForm)
        Image1: TImage;
        Procedure FormCreate(Sender: TObject);
        Private
        Public
      End;
     
    Var
      Form1: TForm1;
     
      Implementation
     
    { TForm1 }
     
    Procedure TForm1.FormCreate(Sender: TObject);
     
    Var
      png: tportablenetworkgraphic;
      back: TaggFpimage;
      Agg: TAggLCLCanvas;
     
    Begin
      Form1.Width := 256;
      form1.Height := 256;
      Try
        back := TaggFpImage.Create(256,256);
        back.PixelFormat := afpimRGB24;
        png := tportablenetworkgraphic.Create;
        Agg := TAggLCLCanvas.Create;
     
        With Agg Do
          Begin
            Image.PixelFormat := afpimRGBA32;
            Image.SetSize(256,256);
     
            //Chargement du background depuis png
            back.LoadFromFile('back.png');
            agg.AggCopyImage(back,0,0);
     
            //elipse bleu interieur rouge alpha
            Brush.fpColor := fpcolor($ffff,0,0,$5000);
            Pen.fpColor := FPColor(0,0,$ffff,$FFFF);
            pen.Width := 3;
            aggEllipse(128,128,60,85);
            // chargement du canvas dans un png
            png.LoadFromIntfImage(Agg.Image.IntfImg);
            png.SaveToFile('test.png');
     
            image1.Picture.Assign(png);
          End;
     
      Finally
        agg.free;
        png.Free;
        back.Free;
      End;
    End;
     
    initialization
      {$I unit1.lrs}
     
    End.
    L'image fond est rendu en noir/blanc, elle semble 4 fois plus petite et elle est répétée 4 fois en largeur :

    rendu :



    l'mage de fond etant ceci




    Je seche lamentablement
    Si quelqu'un avait une idée, je suis preneur

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 15
    Par défaut
    Bonjour,

    Personne ne se sert de aggpas ?

    J'ai remarqué que si je charge le background comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    agg.image.IntfImg.LoadFromFile('back.png');
    L'image de fond s'affiche correctement mais je ne vois plus le tracé

    Une idée ?

    Merci

Discussions similaires

  1. Background trop longtemps à charger
    Par movlw dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/06/2015, 17h10
  2. Image de background d'un slideshow à ne charger qu'après le onload
    Par tgilbert79 dans le forum Performance Web
    Réponses: 2
    Dernier message: 23/08/2011, 16h36
  3. Charger un background !
    Par cincap dans le forum Débuter
    Réponses: 5
    Dernier message: 17/06/2009, 17h44
  4. Charger et changer du background du site
    Par crazyvirus dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/01/2009, 12h09
  5. [TP]Charger un fichier bmp
    Par flavien tetart dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 30/06/2002, 19h04

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