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
» Fonctionnement du caret_x_position(N)
par Jack Hier à 20:36

» Problèmes en cours.
par Jack Hier à 20:31

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 19:55

» Exemple d'une nouvelle version d'un GRID
par Minibug Hier à 17:36

» Comment faire fonctionner \qj en RTF ?
par jjn4 Mer 12 Déc 2018 - 19:25

» Mais où est donc passé Klaus ?!
par Jicehel Mer 12 Déc 2018 - 13:38

» Problème avec SaveStringList.
par Klaus Mer 12 Déc 2018 - 12:14

» Je suis de retour !
par Klaus Mer 12 Déc 2018 - 12:10

» Connexion au forum
par mindstorm Mer 5 Déc 2018 - 19:09

» Version instantanée V 0.9.29i5 du 17/11/2018
par silverman Ven 30 Nov 2018 - 10:37

» imprimer avec Print.dll
par JL35 Jeu 29 Nov 2018 - 21:33

» Convertisseur Décimal ---> Binaire, Octal, Hexadécimal, ...
par Minibug Dim 25 Nov 2018 - 15:37

» Impression de documents
par JL35 Ven 23 Nov 2018 - 19:45

» Logiciel de soutien scolaire.
par Marc Jeu 22 Nov 2018 - 20:51

» Logiciel de soutien en langues.
par Marc Jeu 22 Nov 2018 - 19:39

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 Comment afficher une image sans fond.

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

Nombre de messages : 1226
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 : 6407
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 : 1226
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 : 6407
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 : 1226
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 : 724
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 : 6407
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
-
» comment afficher l'image sans qu'elle soit
» comment changer l'image de fond
» Comment mettre une image de fond dans les messages ?
» Comment enlever une image de fond de catégorie?
» Comment mettre une image de fond (ex: de la neige qui tombe)

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: