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 :

Enregistrer un tbitmap dans un PNG avec gestion de la transparence


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 33
    Par défaut Enregistrer un tbitmap dans un PNG avec gestion de la transparence
    Bonjour à tous.
    J'ai un TBitmap que j'enregistre sur le disque en utilisant la fonction
    bmp->SaveToFile(MonFichier.bmp);

    Mon fichier est bien créé sur le disque.

    Je veux maintenant enregistrer ce même TBitmap au format PNG avec gestion de la transparence (tout ce qui est blanc doit être transparent).
    Comment puis je faire ?

    Merci à tous.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 277
    Par défaut
    Citation Envoyé par harry_kalagan Voir le message
    Bonjour à tous.
    J'ai un TBitmap que j'enregistre sur le disque en utilisant la fonction
    bmp->SaveToFile(MonFichier.bmp);

    Mon fichier est bien créé sur le disque.

    Je veux maintenant enregistrer ce même TBitmap au format PNG avec gestion de la transparence (tout ce qui est blanc doit être transparent).
    Comment puis je faire ?

    Merci à tous.
    Les fonctions TBitmap.LoadToFile et TBitmap.SaveToFile prennent en charge le format PNG sur toutes les plateformes (FMX).
    Il faut donc que vous passiez la composante alpha des pixels blancs de votre image à 0 et sauver l'image en .png
    Pour traiter l'image il faut utiliser les fonctions TBitmap.Map et AlphaColorToScanline :
    http://docwiki.embarcadero.com/Libra...cs.TBitmap.Map

  3. #3
    Membre averti
    Inscrit en
    Août 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 33
    Par défaut
    Citation Envoyé par yvslms Voir le message
    Les fonctions TBitmap.LoadToFile et TBitmap.SaveToFile prennent en charge le format PNG sur toutes les plateformes (FMX).
    Il faut donc que vous passiez la composante alpha des pixels blancs de votre image à 0 et sauver l'image en .png
    Pour traiter l'image il faut utiliser les fonctions TBitmap.Map et AlphaColorToScanline :
    http://docwiki.embarcadero.com/Libra...cs.TBitmap.Map
    Merci pour votre réponse rapide,
    je précise néanmoins que j'utilise borland c++ builder 6.0 et que je n'ai donc pas accès à la fonction map disponible sous embarcadero.
    (ne me dites pas de passer sous embarcadero, ce n'ai pas moi qui choisi de ne pas l'utiliser ;-))

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 277
    Par défaut
    Citation Envoyé par harry_kalagan Voir le message
    Merci pour votre réponse rapide,
    je précise néanmoins que j'utilise borland c++ builder 6.0 et que je n'ai donc pas accès à la fonction map disponible sous embarcadero.
    (ne me dites pas de passer sous embarcadero, ce n'ai pas moi qui choisi de ne pas l'utiliser ;-))
    Sur cette version il existait déjà une fonction scanline qui permettait de lire le contenu d'un bitmap ligne par ligne :
    https://www.developpez.net/forums/d5...ement-d-image/

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/03/2017, 08h36
  2. enregistrement des données dans la BD avec jpql
    Par armellita dans le forum JPA
    Réponses: 0
    Dernier message: 03/03/2014, 11h03
  3. enregistrer une image dans une repertoire avec vb.net
    Par lucaazori1988 dans le forum VB.NET
    Réponses: 6
    Dernier message: 01/09/2010, 14h42
  4. enregistrer des données dans une base avec jboss jbpm
    Par paolo2002 dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 19/09/2007, 11h56
  5. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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