FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Projet de planétarium virtuel.
par Pedro Alvarez Hier à 17:29

» Quantité de mémoire utilisée par un exe
par Navigateur Hier à 14:52

» Problème avec 'file_load'.
par Pedro Alvarez Hier à 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Ven 15 Juin 2018 - 7:52

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

» image_width(n) et image_height(n)
par silverman Sam 9 Juin 2018 - 11:22

» Site sur la programmation sympa
par Jean Claude Jeu 7 Juin 2018 - 11:20

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Comment afficher une image sans fond.

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

Nombre de messages : 1052
Date d'inscription : 19/01/2014

MessageSujet: Comment afficher une image sans fond.   Ven 8 Juin 2018 - 16:06

Bonjour.

Je dispose de plusieurs images des planètes au format jpg, sur fond noir.
Ces images sont bien entendues circulaires, le reste de l'image étant noir.

Lors de la visualisation des ces images dans des objets picture, le fond noir apparaît sur l'écran.
Connaissez-vous un moyen d'afficher uniquement l'image sans le fond noir ?

Merci de votre aide.

Le code suivant affiche bien le sprite, mais son fond noir apparaît à l'écran.
Bien que la doc indique que la couleur noire soit transparente !

Code:
maximize 0

picture 1
full_space 1

scene2d 2
left 2,200
top 2,200
width 2,200
height 2,200
sprite_target_is 2
sprite 3
sprite_file_load 3,"c:\b\mars2.bmp"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6273
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Comment afficher une image sans fond.   Ven 8 Juin 2018 - 17:17

A mon avis, ce que tu vois après avoir chargé le sprite, ce n'est pas la couleur de fond du sprite (noire), mais celle du Scene2d, qui est également noire d'origine.
Mets d'abord une image de fond dans le scene2d, et le sprite se détachera bien dessus sans son fond noir de transparence.

Par exemple:
Code:
width 0,660: height 0,520
picture 1: width 1,150: height 1,150: color 1,0,0,0
2D_TARGET_IS 1: ' juste pour créer le sprite
2d_fill_color 255,255,0: 2D_CIRCLE 75,75,50: file_save 1,"Z:\Planete.bmp"
2D_TARGET_IS 0: DELETE 1

scene2d 2
width 2,640: height 2,480
FILE_LOAD 2,"C:\GRAPH\BMP\goldgate.bmp": ' une image de fond qualconque (640x480)
sprite_target_is 2
sprite 3
sprite_file_load 3,"Z:\Planete.bmp"
end

Si tu mets en commentaire le chargement de l'image dans le scene2d, tout est noir, sauf le sprite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

Nombre de messages : 1052
Date d'inscription : 19/01/2014

MessageSujet: Comment afficher une image sans fond.   Ven 8 Juin 2018 - 20:20

Bonsoir.

Merci pour l'info, mais je ne peux malheureusement pas utiliser cette méthode.

Ma form 0 contient un objet picture, lui-même contenant une image de fond.

Non, impossible d'utiliser en plus un scene2d.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6273
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Comment afficher une image sans fond.   Ven 8 Juin 2018 - 21:12

Si je comprends bien, tu voudrais que ton picture se comporte comme un scene2D ? ce n'est pas prévu...

Ce que je ferais personnellement (enfin, j'essaierais):
- enregistrer le contenu du picture (image de fond) dans un fichier bmp provisoire
- créer un Scene2D caché (HIDE) aux dimensions de l'image précédente
- charger (FILE_LOAD) le Scene2D avec le fichier bmp
- appliquer le sprite sur ce Scene2D à l'endroit voulu
- sauvegarder le résultat (SNAPSHOT) dans un bmp
- recharger le picture d'origine avec ce bmp
(éventuellement supprimer le Scene2d et les bmp temporaires).

Certes, ça paraît bien compliqué, et c'est sans doute lent, mais je ne vois rien d'autre si on veut utiliser un picture.

C'est un peu laborieux, mais ça marche:
Code:
DIM f$,fi$,fs$,x%,y%
f$ = "C:\GRAPH\JPG\goldgate.jpg": ' image de fond du picture
fi$ = "Z:\IM.bmp": ' image de fond (copie picture)
fs$ = "Z:\Planete.bmp": ' sprite

WIDTH 0,800: HEIGHT 0,600
    ' CREATION DU SPRITE, POUR ESSAIS (un disque jaune...):
    ' picture 2: width 2,100: HEIGHT 2,100: color 2,0,0,0
    ' 2d_target_is 2: 2d_fill_color 255,255,0: 2d_circle 50,50,40
    ' file_save 2,fs$
    ' end

PICTURE 1: WIDTH 1,640: HEIGHT 1,480
FILE_LOAD 1,f$: ' image de fond du picture
SCENE2D 3: HIDE 3: WIDTH 3,640: HEIGHT 3,480: ' Scene2D provisoire et caché
SPRITE 3
FILE_SAVE 1,fi$: FILE_LOAD 3,fi$
SPRITE_FILE_LOAD 3,fs$
x% = 100: y% = 50: ' position du sprite dans l'image
SPRITE_POSITION 3,x%,y%
SNAPSHOT 3,fi$: DELETE 3: ' sauvegarde, puis suppression du Scene2D
FILE_LOAD 1,fi$: ' rechargement du Picture avec l'image modifiée
FILE_DELETE fi$
END
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

Nombre de messages : 1052
Date d'inscription : 19/01/2014

MessageSujet: Comment afficher une image sans fond.   Sam 9 Juin 2018 - 10:25

Bonjour.

Un grand merci JL35 pour ton aide.
Tout fonctionne correctement, et assez rapidement de surcroît.

Voici ton code remanié pour mon usage.

Code:
DIM f$,fi$,fs$,x%,y%

f$ = "fonds\preferes\fond1.jpg": ' image de fond du picture
fi$ = "c:\a\image.bmp": ' image de fond (copie picture)
fs$ = "c:\b\mars2.bmp": ' sprite

maximize 0

picture 1: full_space 1
file_load 1,f$: ' image de fond du picture
scene2d 3: hide 3: width 3,width(1): height 3,height(1): ' scene2d provisoire et caché
sprite 3
file_save 1,fi$: file_load 3,fi$
sprite_file_load 3,fs$
x% = 800: y% = 300: ' position du sprite dans l'image
sprite_position 3,x%,y%
sprite_scale 3,0.25,0.25
snapshot 3,fi$: delete 3: ' sauvegarde, puis suppression du scene2d
file_load 1,fi$: ' rechargement du picture avec l'image modifiée
file_delete fi$
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 643
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Comment afficher une image sans fond.   Sam 9 Juin 2018 - 10:34

@pedro
le code que tu as posté dans ton premier post est correct, mais les images '.jpg' n'ont pas toujours le noir égal à : pixel rouge=0,vert=0,bleu=0. C'est surement un pb de couleur; Il n'y a que le noir pur qui est transparent.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6273
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Comment afficher une image sans fond.   Sam 9 Juin 2018 - 14:16

Tu as raison silverman, dans un jpg les couleurs sont moins bien définies...
Mais dans son exemple initial, le noir qu'on voit c'est le fond du Scene2d, qui est noir d'origine,
le fond du sprite se confond avec.
Et son image_sprite était bien un bmp.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Comment afficher une image sans fond.   

Revenir en haut Aller en bas
 
Comment afficher une image sans fond.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Répétition horizontale/verticale d'une image de fond
» Image de fond de catégorie.
» Changement d'une image de fond
» Afficher une image un plein écran
» Comment afficher toujours la bonne heure sans boucle infini?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: