FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
quel objet choisir? - Page 2 Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
quel objet choisir? - Page 2 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
quel objet choisir? - Page 2 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
quel objet choisir? - Page 2 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
quel objet choisir? - Page 2 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
quel objet choisir? - Page 2 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
quel objet choisir? - Page 2 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
quel objet choisir? - Page 2 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
quel objet choisir? - Page 2 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
quel objet choisir? - Page 2 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
quel objet choisir? - Page 2 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
quel objet choisir? - Page 2 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
quel objet choisir? - Page 2 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
quel objet choisir? - Page 2 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
quel objet choisir? - Page 2 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 quel objet choisir?

Aller en bas 
+2
Jicehel
jpcr
6 participants
Aller à la page : Précédent  1, 2
AuteurMessage
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyDim 6 Sep 2015 - 16:53

haha , tu es formidable.
je te met un zip a ton nom dans mon webdav d'ici 15 minutes.

je veut un fond et une image par dessus avec transparence et je veut pouvoir cliquer sur cette image pour déclencher un événement.

jp

ps : je t’ai ajouté un fichier Jicehel.zip contenant tout
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyDim 6 Sep 2015 - 19:42

Je t'ais modifié le code vite fait.
Pour ce que tu veux, il y a des tas de façon de faire.
En supposant que tu acceptes le clic sur le carré correspondant à l'étoile, tu dois te faire une picture à la taille de ton étoile pour ne prendre en compte que le clic sur cette étoile.
Après tu aurais d'autre moyen comme faire comme tu as fait, la détection sur l'image de fond et testé la couleur du pixel qui s'y trouve, tu pourrais alors dire que l'utilisateur à cliqué sur l'étoile si le pixel correspondant au clic est de couleur jaune.

Voici le programme modifié pour la détection du clic dans le carré encadrant l'image par la détection de clic. Encore une fois, il y a des tas d'autres moyens d'obtenir la même chose, comme détecté la position du clic et voir s'il est dans le carré encadrant cette image et si tel est le cas, tu peux faire un test de couleur si tu ne veut que les clics exactement sur cette étoile jaune.

Le source est:
Code:
' Démo_superposition_images.bas

dim res%

label clic, clic_100, fin : ' on crée une marque (un "label" en anglais)

' Modification de la forme principale
width 0,1024 : height 0,750 : hide 0

' Création du picture visible
picture 100 : top 100,10 : left 100,10
width 100,900 : height 100,544 : hide 100

' Création de l'image cliquable
picture 102 : width 102,100 : height 102,100: top 102, 120 : left 102, 50


' création d'un picture pour les incrustations
picture 101 : hide 101 : width 101,100 : height 101,100

KGF_initialize("KGF.dll")

' --------------------------------------------
' on charge l'image de fond
' --------------------------------------------
'
  file_load 100,"Fond2.bmp"
' on la place dans le presse-papier
  clipboard_copy 100
' on charge cette image dans l'image interne
  LoadPicture()

' --------------------------------------------------
' on charge l'image de la bande 1 à incruster dessus
' --------------------------------------------------
' on charge une image à incruster dansl'image de fond
  file_load 101,"etoile.bmp"
' on la place dans le presse-papier
  clipboard_copy 101
' incuster cette image dans l'image de fond
' elle sera placée à partir de (0,106) de l'image de fond
' ==== res% = dll_call6("ModifyPicture",x%,y%,T%,R%,G%,B%)
' avec un taux de transparence de 50% (0%: invisible et 100% = opaque)
' et la couleur noire (0,0,0) est considérée comme transparente
  ModifyPicture(0,0,100,0,0,0)  : ' On place l'image
' récupérer l'image interne vers le presse-papier
  savePicture()
' et copier le résultat dans le picture d'affichage:
  clipboard_paste 102

show 0 : show 100 : show 102 : on_close 0,fin
on_click 102,clic : ' à chaque clic sur lobjet 1 on exécute à partir de "clique"
on_click 100,clic_100 : ' à chaque clic sur lobjet 1 on exécute à partir de "clique"


' et voilà, le tour est joué !

end

#INCLUDE "KGF_SUB.bas"


clic:
caption 0 , "on a cliqué sur etoile " : ' on affiche un texte dans le bandeau de la fenêtre
return : ' fin du sous-programme de traitement du clic sur l'étoile

clic_100:
caption 0 , "---" : ' on affiche un texte dans le bandeau de la fenêtre
return : ' fin du sous-programme de traitement du clic sur l'image

fin:
res% = dll_call1("KillProcessByHandle",handle(0))
dll_off

Si ça ne correspond pas exactement à ce que tu veux, c'est que j'ai mal compris, mais n'hésites pas à demander et je corrigerais.



Revenir en haut Aller en bas
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyLun 7 Sep 2015 - 8:48

merci, ça marche bien !!!

un peu dommage d'avoir a gérer 2 images pour 1 click, mais bon , ça marche.

je vais pouvoir m'amuser maintenant...

jp
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyLun 7 Sep 2015 - 9:00

Tu peux ne pas faire d'objet et géré le clic sur l'image de fond comme tu as fait dans ton programme
Dans ce cas là, par contre, tu dois géré les coordonnées de la souris au moment du clic et faire une test de collision entre ce point et le rectangle AABB encadrant ton étoile (tu peux regarder le tuto n°1 sur les collision pour avoir la procédure toute faite). C'est vraiment un choix d'organisation de ton programme.
En tout cas, tu peux t'amuser Wink
Revenir en haut Aller en bas
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyLun 28 Sep 2015 - 11:42

bon , je suis un peu Embarassed Embarassed Embarassed

mais ce code si simple  ne fonctionne pas, c’est a dire que le fond de l’étoile n'est pas transparent.

je ne comprends pas pourquoi.

le code est dans "jp hog.rar" sur mon webdav.

mille merci flower
jp
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyLun 28 Sep 2015 - 16:11

Petite réflexion sur la transparence sous Windows:
Sous Windows, seule une fenêtre sans parent peut avoir une gestion de transparence par canal alpha. Une fenêtre sans parent est une fenêtre non modale, appartenant directement au bureau et non à une application.
Or, toutes les fenêtres que tu peux créer en Panoramic, sont des fenêtres "filles" de la form 0 qui est leur parent. Donc, aucune gestion de transparence pour ces fenêtres.
Mais ça va plus loin. Presque tous les objets visibles sous Windows sont réalisés sous forme de fenêtre Windows, dont le parent est un des objets de la fenêtre principale de l'application. Automatiquement, tu ne peux en aucun cas avoir une transparence quelconque pour un objet visible de Panoramic, que ce soit picture, memo, button etc.
Maintenant, comme toujours, il y a des moyens de contourner, ou de réduire, les contraintes imposées par Windows. Et c'est la notion de région. Chaque fenêtre Windows (et donc chaque objet visible) est affichée dans une zone à l'écran nommée région. Initialement, et par défaut, cette zone est rectangulaire et est identique aux dimensions extérieures de l'objet. Mais on peut manipuler une région. On peut lui donner n'importe quelle forme: coins arronis, ovale, polygone, un ensemble de formes irrégulières non contigues etc. Le tout est de définir correctement la région et de l'imposer à l'objet vise. Il y a une série de fonctions dans KGF.dll qui font exactement cela.
Si par exemple tu veux afficher une étoile par-dessus une image ou une fenêtre quelconque, tu procèdes ainsi:
1. tu crées une form de la taille approximative de ton étoile (ou tout autre objet pouvant afficher une image de fond, mais PAS un picture !).
2. tu charges l'image dans l'objet créé
3. tu crées une bitmap en pixels noirs et blans uniquement, pour "masquer" l'étoile.
4. tu crées une région correspondant aux pixels masquant l'étoile
5. tu imposes cette région à l'objet affichant l'étoilre
Et comme par magie, ton étoile apparaît sans le fond, comme si le fond était réellement transparent ! Mieux: si un objet Panoramic est partiellement caché par l'étoile, tu peux quand-même cliquer sur l'objet, à travers de ce qui devrait être le fond de l'image. Le fond n'existe plus, tout simplement.
Par contre, il est impossible, même avec une région, d'imposer un dégré de transparence à l'étoile, comme si elle était translucide. Rappelle-toi: ceci n'est possible que pour les fenêtres sans parent, ce qui n'est pas le cas ici.

Voilà. Tu vois qu'il s'agit de considérations générales de Windows, et c'est totalement indépendant de Panoramic. Le seul moyen d'aller plus loin dans ce domaine, ce serait de créer une fenêtre sans parent directement à partir d'une API de Windows (CreateWindow ou CreateWindow Ex), de manipuler la région de cette fenêtre (facile, puisqu'on aura le handle) et ensuite de lui imposer la valeur choisie entre 0 et 255 du canal alpha.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyLun 28 Sep 2015 - 17:04

wow, merci, Klaus, de cette réponse longue et détaillée.

donc en imaginant que je veuille faire un petit jeu avec 10 objet caché , je devrai avoir 11 form ?

jp
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyLun 28 Sep 2015 - 17:12

A priori oui. Mais, qu'est-ce que tu appelles "caché" ? La commande HIDE ne fait pas ce que tu veux pour cacher un objet ? Et, en lisant bien mpon post ci-dessus, tu verras qu'un objet Panoramic FORM ne fait pas l'affaire si tu parles de transparence, car c'est un objet avec parent...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jpcr

jpcr


Nombre de messages : 276
Age : 57
Localisation : Val de Marne (94)
Date d'inscription : 06/05/2011

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyLun 28 Sep 2015 - 17:56

pardon, je voulais dire que je voulais essayer de faire un jeu d'objet caché.

comme ici  : https://www.youtube.com/watch?v=lYFnQrEu4Qw

ou tu dois chercher les objets énoncés en bas  dans l'image centrale.

jp
Revenir en haut Aller en bas
http://jeanpierre.creis.free.fr/Panoramic/Panoramic.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 EmptyLun 28 Sep 2015 - 19:21

Alors, tu peux procéder autrement, à l'aide de KGF.dll !

J'imagine que tu as une image de fon qui est fixe. Tu veux y incruster un objet contenu dans une image. cette image a un fond de couleur unie, distincr des couleurs utilisées dans la partie utile de l'image, comme le noir, par exemple. Et je suppose également que l'incrustation se fait de façon "fixe", de sorte à placer la petite image dans la grande, sans le fond.

Or, c'est exactement le domaine d'application des fonction de gestion d'image de KGF.dll. Tu procédes selon les étapes suivantes:
1. tu charges la grande image dans un picture Panoramic, par la commande FILE_LOAD
2. tu copies cette image dans le presse-papier, par la commande CLIPBOARD_COPY
3. tu charges KGF.dll, si ce n'est pas déjà fait, par la commande DLL_ON
4. tu charges le presse-papier dans l'image interne de la DLL, par la fonction LoadPicture
5. tu passes le traitement des images en mode "immédiat", par la fonction SetImmediateMode
6. tu charges l'image à incruster dans un picture Panoramic par la commande FILE_LOAD
7. tu copies cette image dans le presse-papier, par la commande CLIPBOARD_COPY
8. tu incrustes le contenu du presse-papier dans l'image interne par la fonction ModifyPicture
9. tu récupères l'image interne résultante du presse-papier dans un picture Panoramic par la commande CLIPBOARD_PASTE
10. et tu utilises l'image récupérée à ta guise.

Ton motif est incrusté, absolument sans son fond. Et pour savoir si l'objet a été cliqué, tu exploites des coordonnées retournées par les fonctions MOUSE_X_LEFT_DOWN et MOUSE_Y_LEFT_DOWN, sur la grande image.

Voilà, j'espère avoir apporté d'autres éléments de réflexion.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





quel objet choisir? - Page 2 Empty
MessageSujet: Re: quel objet choisir?   quel objet choisir? - Page 2 Empty

Revenir en haut Aller en bas
 
quel objet choisir?
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Savoir sur quel objet un évènement a eu lieu
» ON_MOUSE_MOVE : Quel numéro d'objet est survolé ?
» [Résolu] Interception touches quel que soit objet Panoramic
» Ouvrir/ choisir le programme
» Quel code

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: