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

QuickReport Discussion :

QRImage noir / D6


Sujet :

QuickReport

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Points
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 62
    Par défaut QRImage noir / D6
    Bonsoir à tous,

    J'utilise un QRImage/QReport.
    De façon aléatoire (1 / 20 ou 1/30) le QRImage est noir, je charge l'image en faisant :
    QRImage1.Picture.LoadFromFile('Image.Bmp');

    Autrement, j'ai trouvé cette procedure, l'idée sera de charger l'image dans un BitMap et le copier dans le Canvas de QReport, sauf que ça marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Var
      Bitmap: TBitmap;
      MyRect, MyOther: TRect;
    begin
      MyRect := Rect(0,0,500,1000);
      MyOther := Rect(0,0,700,1000);
      Bitmap := TBitmap.Create;
      Bitmap.LoadFromFile(FBD.DossierAppli + '\Images\GrilleB.Bmp');
      QReport1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
      QReport1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
      Bitmap.Free;
    End;

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 409
    Points
    42 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 409
    Points : 42 016
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Perso , je n'ai jamais eu aucun problème avec les images quickreport (et pourtant il s'agit de programmes D3 et QR 2.0k utilisant aussi bien des BMP que des JPG, quotidiennement utilisé avec une variété d'image de l'ordre de 500 environ)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    QRImage1.Enabled:=True;
    try
    QRImage1.Picture.LoadFromFile(ServeurImage+'\'+ModeleIMAGE.Value);
    except
      QRImage1.Enabled:=False;
    end;
    cela dit ne serait-ce pas plutôt le Bitmap qui pose problème ?

    Quant au code quelle étrange manière (utiliser la brosse ) de faire
    alors qu'un assign suffirait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    MyBitmap := TBitmap.Create;
    MyBitmap.LoadFromFile(chemin + 'filigrane.bmp');
    QRImage1.Picture.Assign(MyBitmap);
    MyBitmap.Free;

  3. #3
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 294
    Points
    1 949
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 294
    Points : 1 949
    Par défaut
    Le problème vient du bitmap, deux solutions:
    - transformer le bitmap pour qu'il soit compatible avec un DIB (Device Independant Bitmap). Je n'ai plus le code malheureusement.
    - upgrade de quickreport (la version 5.02 a de nouveau ces problèmes, la version 5.05 ne l'a plus, après je ne sais pas).

    Le problème que j'avais était avec un bitmap généré par un composantTChart.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Points
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 62
    Par défaut
    Citation Envoyé par Linkin Voir le message
    Le problème vient du bitmap, deux solutions:
    - transformer le bitmap pour qu'il soit compatible avec un DIB (Device Independant Bitmap). Je n'ai plus le code malheureusement.
    - upgrade de quickreport (la version 5.02 a de nouveau ces problèmes, la version 5.05 ne l'a plus, après je ne sais pas).

    Le problème que j'avais était avec un bitmap généré par un composantTChart.
    Effectivement, le problème vient de QReport.

    J'ai trouve un code traitant ce problème

    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
    Procedure PRPrintBitmapOnCanvas(Canvas: TMetafileCanvas; Bitmap: TBitmap; posLeft, posTop: Integer);
    var
         lpbmih: TBitmapInfoHeader;
         lpbmi: TBitmapInfo;
         aBitmap: HBITMAP;
         aDC: LongWord;
    begin
         Fillchar(lpbmih, SizeOf(lpbmih), 0);
         lpbmih.biSize := SizeOf(lpbmih);
         lpbmih.biWidth := bitmap.width;
         lpbmih.biHeight := bitmap.height;
         lpbmih.biPlanes := 1;
         lpbmih.biBitCount := 32;
         lpbmih.biCompression := BI_RGB;
     
         Fillchar(lpbmi, SizeOf(lpbmi), 0);
         lpbmi.bmiHeader.biSize := SizeOf(lpbmi.bmiHeader);
         lpbmi.bmiHeader.biPlanes := 1;
         lpbmi.bmiHeader.biBitCount := 32;
         lpbmi.bmiHeader.biCompression := BI_RGB;
     
         aBitmap := CreateDIBitmap(Canvas.Handle, lpbmih, 0, nil, lpbmi, DIB_RGB_COLORS);
         if aBitmap = 0 then RaiseLastOSError;
         try
            aDC := CreateCompatibleDC(Canvas.Handle);
            SelectObject(aDC, aBitmap);
     
            BitBlt(aDC, 0, 0, bitmap.Width, bitmap.Height, bitmap.Canvas.Handle, 0, 0, SRCCOPY);
            BitBlt(canvas.handle, posLeft, posTop, bitmap.Width, bitmap.Height, aDC, 0, 0, SRCCOPY);
     
            DeleteDC(aDC);
         finally
            DeleteObject(aBitmap)
         end;
    end;
     
    procedure Canvas_Certificat;
    Var
         BitM : TBitmap;
         MFC  : TMetaFileCanvas;
    begin
         BitM := TBitmap.Create;
         QReport1.QRImage.Height  := 1123;
         QReport1.QRImage.Top     := 0;
         QReport1.QRImage.Left    := 0;
         QReport1.QRImage.Width   := 793;
     
          BitM.LoadFromFile('Grille.Bmp');
     
         MFC := TMetaFileCanvas.Create(QReport1.QRImage.Picture.Metafile, 0);
         PRPrintBitmapOnCanvas (MFC, BitM, 0, 0);
         MFC.Free;
         BitM.Free;
    end;

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    946
    Points
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 946
    Points : 121
    Par défaut
    bonjour à tous,

    je ne sais pas si tu as réellement réglé ton problème mais je tient à ajouter que la première raison qui m'a convaincu de passer de Quickreport à Rave et le traitement des Images. Quickreport avec toutes ses versions ne gère pas bien le fichier BMP surtout (24 Bits).

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

Discussions similaires

  1. QRImage transparent
    Par ushu dans le forum Composants VCL
    Réponses: 10
    Dernier message: 02/01/2008, 19h07
  2. Mon vertexbuffer apparaît completement noir
    Par Imhotep dans le forum DirectX
    Réponses: 3
    Dernier message: 14/07/2004, 17h11
  3. [GDI] dessin qui s'affiche en couleur puis en noir et blanc
    Par Harry_polin dans le forum Windows
    Réponses: 4
    Dernier message: 25/06/2004, 13h57
  4. Transparence autre qu'avec le noir...
    Par Ptibibi dans le forum DirectX
    Réponses: 11
    Dernier message: 07/06/2004, 19h13
  5. Sortie tv - Image en noir et blanc
    Par Demco dans le forum Périphériques
    Réponses: 7
    Dernier message: 22/11/2003, 19h01

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