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

C++Builder Discussion :

[BCB6]Problème Dimensions Bitmap


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 58
    Points : 47
    Points
    47
    Par défaut [BCB6]Problème Dimensions Bitmap
    Bonjour,

    J'ai un gros problème: quand la dimensions de mon pitmap dépassent 8760*1460 mon application plante et j'ai ce message "Espace insuffisant pour traiter cette commande".
    En fait, je souhiate avoir une zone de dessin illimitée en utilisant un bitmap. Est-ce la bonne solution?
    Aussi j'amerai savoir comment gérer l'impression de mon graphe page par page en prenant en compte les formats A3, A4, A2,....

    Merci pour votre réponse.

  2. #2
    mat.M
    Invité(e)
    Par défaut
    quand la dimensions de mon pitmap dépassent 8760*1460
    8760*1460=12 789 600 octets et si l'image a une profondeur de 24 bits cela fait 306 950 400 soit à peu près 310 Mo ..........

    déjà que l'OS monopolise une bonne partie de la RAM.

    Est-ce que la bitmap est gérée avec TBitmap et TPicture ?

    En fait, je souhiate avoir une zone de dessin illimitée en utilisant un bitmap. Est-ce la bonne solution?
    Je ne crois pas qu'on puisse avoir une zone de dessin illimitée , le GDI va s'emballer, il faut procéder à des découpages de zones.

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Il est possible de travailler sur des images infinies, du moins d'en
    créer l'illusion
    . Pour celà, il faut positionner les éléments du dessin
    à l'aide d'offsets. Celà suppose que chaque élément graphique soit modélisé.
    C'est relativement simple à faire.

    Bien entendu et pour faire simple, les limites sont celles de l'ambitus d'un int !!

    Ici, les dimensions du bitmap de l'arrière plan seront toujours celles de la zone
    client de la fenêtre (moins les broutilles des accessoires).

    Si ça te branche je peux te passer quelques bouts de code.

    A plus !

  4. #4
    mat.M
    Invité(e)
    Par défaut
    Il est possible de travailler sur des images infinies, du moins d'en
    créer l'illusion. Pour celà, il faut positionner les éléments du dessin
    à l'aide d'offsets.
    oui.... c'est ce que j'ai voulu écrire mais on n'alloue pas indéfiniment de la mémoire pour des grosse bitmaps car le système va pédaler

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    8760 * 1460 = 12 789 600 octets et si l'image a une profondeur de 24 bits
    cela fait 306 950 400 soit à peu près 310 Mo ..........
    A mons avis... 38 368 800 octets auraient pu éventuellement suffire...

    Avant d'envisager les grand moyens (modélisation etc...),
    voir aussi si la taille allouée au programme n'est pas en cause ici :

    Projet/Options/Lieur/Taille du tas max (BCB 3 Pro et on peut supposer qu'avec BCB 6...)

    A plus !

  6. #6
    mat.M
    Invité(e)
    Par défaut
    A mons avis... 38 368 800 octets auraient pu éventuellement suffire...
    ??????

    La taille requise en mémoire dépend de la hauteur par largeur ET de la profondeur d'image.
    Or si , comme la plupart des gens l'affichage de son écran est en 1,67millions de couleurs donc 24 bits on obtiendra le calcul que j'ai fait précedemment.
    C'est certain qu'en 8 bits cela fait moins.Mais même 38 Mo c'est bcp trop et le GDI va pédaler

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 58
    Points : 47
    Points
    47
    Par défaut
    Merci bien les amis pour vos interventions.

    En fait, j'ai pensé à l'histoire de l'image de taille virtuellement infinie mais je vois pas trop comment faire. Donc pour la proposition
    Si ça te branche je peux te passer quelques bouts de code.
    Je suis preneur avec mes remerciments.

    Ensuite, si quelqu'un à une idée concernant l'impression d'image: pourvoir imprimer le graphe sur plusieurs pages s'il est trop grand, ou le tout sur la même,...
    NB: pour que vous ayez une idée plus claire de ce que je veux faire, je vous renvoi à l'interface de construction du MCD sur Win'Design. En fait, je veux faire la même chose à quelques details près.

    PS: n'est-il pas mieux d'utiliser un Metafile permettant d'avoir une image au format EMF ou WMF à la fois vectoriel et bitmap.

    Merci.

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    ...donc 24 bits on obtiendra le calcul que j'ai fait précedemment.
    Si 8760 * 1460 représentent le nombre de pixels et que si chaque pixel est défini
    à l'aide de 24 bits on aura bien 8760 * 1460 * 3 = 38 368 800 octets !
    Que celà fasse 306 950 400 bits ... !

    Si les modifications pouvant être apportées au tas n'apportent rien, on peut aussi
    travailler avec une image fragmentée en de multiples sous-images. La dimension
    de ces images étant calculée pour avoir un meilleur confort au niveau du traitement,
    comme par exemple en faisant en sorte d'avoir à l'écran, au maximum 9 sous-images
    limitrophes dont seule la sous-image centrale serait représentée intégralement.

    A plus !

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Pour l'impression TPrinter::Canvas ?
    J'en sais pas plus d'autant que je ne peux pas tester !

    A plus !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 58
    Points : 47
    Points
    47
    Par défaut
    henderson, vous pourriez m'envoyer le bout de code que vous m'avez proposer s.v.p. :

    Merci.

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    C'est fait depuis hier !!!
    Sauf erreur de ma part (????)... envoies un mp pour me confirmer.

    A plus !

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

Discussions similaires

  1. Problème Palette bitmap
    Par tiboo dans le forum C++
    Réponses: 11
    Dernier message: 17/08/2006, 00h09
  2. Problèmes dimensions boutons variable avec browser
    Par vano dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/08/2006, 11h37
  3. Problèmes dimensions boutons variable avec browser
    Par vano dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 07/08/2006, 15h08
  4. [BitMap] Problème avec BitMap.LoadFromStream
    Par Philippe Gormand dans le forum Delphi
    Réponses: 3
    Dernier message: 22/07/2006, 18h53
  5. problème dimension image
    Par groupe51 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 13/07/2006, 17h31

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