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 :

D�coupage d'images et cr�ation btns personnalis�s


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut D�coupage d'images et cr�ation btns personnalis�s
    Bonjour.
    Ouf ca fait tr�s lgtps que je n'�tais plus pass� ici !
    Et bien je vais revenir m�me tr�s souvent
    Voil� je dois d�velopper pour un camping un logiciel de gestion.
    Le plus gros du travail consiste � scanner le plan d'�tat major du camping, le d�couper en image et le retranscrire dans BCB. Chaque parcelle doit �tre un bouton sur laquelle on peut cliquer pour avoir des infos.
    En HTML c'est assez simple de faire du d�coupage d'images, mais je suis un peu rouill� au niveau de BCB. J'utilise la version 5 et 6. Avez-vous une suggestion concernant le placement de mes diff�rentes images et si vous avez d�ja fait ce type de "d�coupage" dans BCB?
    Merci d'avance,

  2. #2
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Comme vous avez l'�v�nement OnClick sur un TImage, vous pourriez par exemple d�couper l'image de base en plusieurs parties (ce n'est pas tr�s difficile � programmer) et vous programmez ensuite l'�v�nement onClick de chacune d'elle. Vous pouvez renvoyer au m�me �v�nement OnClick, "caster le sender" pour le convertir en un pointeur vers l'image cliqu�e, ce qui vous donne par exemple un Tag qui d�finit la portion en question.

    �a ne me para�t pas tr�s difficile � r�aliser.

    � bient�t
    Gilles

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    Merci pour votre r�ponse.
    Justement l'�v�nement OnClick sur chaque image ca ok, pas de probl�me. Mais c'est au sujet de la programmation du d�coupage des images que je ne sais pas comment faire exactement.. En fait j'ai peur que mes images (qui ne sont pas des carr�s).. Ne se collent pas les unes aux autres... Je ne sais pas si je m'exprime bien en fait..

  4. #4
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Il serait tr�s facile � partir d'une image quelconque de cr�er une m�thode qui la subdivise en n parties en x et m parties en y pour cr�er n*m petites images de dimension x/n et y/m. Si n ou m ne divise pas exactement respectivement x ou y, �a ne sera certes pas parfait car il existera des lignes qui ne seront pas reprises dans les sous-parties si l'on veut des sous-images identiques, sinon, si on accepte des sous-images de dimensions diff�rentes, les sous-images du bord recup�reront le restant et leurs dimensions seront l�g�rement diff�rentes d�pendant des donn�es n, m, x et y.

    � bient�t
    Gilles

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    Merci pour votre m�thode. Justement je ne voulais pas cela car ce n'est pa parfait.
    N'y a-t-il pas moyen de cr�er une page HTML dans laquelle je subdiviserais mon image comme je veux et de l'ins�rer dans une Form?
    Cela est-il possible?
    Merci

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    J'ai en fait trouv� une doc sur un petit soft additionnel : Map Objects 2.x
    La doc est ici et apparemment ca doit marcher avec BCB5 : http://www.infotek.be/Fichiers/borlandc.pdf
    Le probl�me est que je ne sais pas o� la trouver ni si c'est libre de droits. Les recherches sur le web ne m'en disent gu�re plus...
    Quelqu'un a-t-il d�ja utilis� ce composant?
    Merci

  7. #7
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Citation Envoy� par arnaud_verlaine
    Merci pour votre m�thode. Justement je ne voulais pas cela car ce n'est pa parfait.
    Si l'image n'est pas trop subdivis�e, l'imperfection sera peu visible. Imaginez une image d'� peu pr�s 1000*1000 � subdiviser en 10*10, chaque image sera de 100*100, si la derni�re image est diff�rente, �a ne srea que de quelques pixels par exemple 103*98, �a ne se verra pas.

    � bient�t
    Gilles

  8. #8
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    Oui mais nous avons regard� et c'est un camping de 800 parcelles, il y aura au total 1000 subdivisions !!
    Donc bon... J'aime bosser en C++ Builder mais le probl�me est cette fameuse carte de d�part qui finalement est le plus gros du boulot. Nous avions donc penser faire cela en php avec d�coupage HTML cela serait plus simple mais nous voulons rester en programmation win32 afin d'avoir un d�ploiement plus rapide (pas besoin de serveur web pour php etc...) mais cela ne me parait pas des plus simples quand m�me niveau "d�coupage"...

  9. #9
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Au d�part, vous avez, si je comprend bien, une image. De quelle dimension est cette image? En combien de fois voulez-vous la subdiviser en x et en y? C'est ces donn�es l� qu'il faut conna�tre pour savoir en fait quelles dimensions auront les images en g�n�ral et les images particuli�res.

    Imaginez par exemple que vous ayez un bitmap B � subdiviser en n parties en x et m parties en y, on aura L et H en g�n�ral et DerL et DerH pour les derni�res calcul�es comme suit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    L=B->Width/n;
    H=B->Height/m;
    DerL=B->Width-(n-1)*L;
    DerH=B->Height-(m-1)*H;
    Si les donn�es sont acceptables, il y aura peu de diff�rences en L et DerL, et H et DerH.

    � bient�t
    Gilles

  10. #10
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    l'image d'�tat major fait 2m sur 2m.. Bon bien entendu nous allons la ramener au format A3 (le A4 ca fera ptet petit).
    Le probl�me est que je comprend tout � fait la m�thode que vous me proposer, mais il ne s'agit pas ici de quadrillage !! Les formes des parcelles ne sont pas de formes carr�es ou rectangulaire, mais al�atoires.. Je dois donc pouvoir (dans l'absolu hein.. ) cr��r manuellement pour chaque parcelle de terrain un bouton � placer dessus par exemple et qui aurait la m�me forme, l� le tour serait jouer. En dernier recours, je peux utiliser un programme style photoshop pour d�couper l'image de d�part en 1000 images et les ins�rer une � une dans BCB et leur donner un �v�nement OnClick mais l� dans 10 ans j'y suis encore moi hein !!
    C'est pour ca que je cherchaus une m�thode pour faire "le contour" d'une parcelle et de pouvoir lui donner un �v�nement OnClick...
    Mais j'en demande ptet bcp l�..

  11. #11
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Citation Envoy� par arnaud_verlaine
    Les formes des parcelles ne sont pas de formes carr�es ou rectangulaire, mais al�atoires
    Voulez-vous dire que les dimensions en x et en y des parcelles peuvent changer c'est-�-dire qu'il va s'agir de rectangles de dimensions diff�rentes ou bien voulez-vous dire que les parcelles peuvent �tre tant�t triangulaires tant�t circulaires ou autre?

    Si je comprends bien les parcelles vont �tre rectangulaires mais chaque rectangle pourra avoir des dimensions diff�rentes. Cette r�partition doit-elle se faire une seule fois � titre d�finitif ou bien voulez-vous pouvoir modifier les parcelles � tout moment?

    Vous parlez en m�tres ou en A3/A4, il faudrait parler en pixels. Attention une image a une dimension maximale de 32000 pixels en x et en y. �a devrait suffire mais il y a cette limite.

    � bient�t
    Gilles

  12. #12
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    La forme des parcelles est al�atoire, c'est � dire tantot triangulaire, tantot rectangle tant n'importe comment finalement..
    Imaginez la carte de france avec les d�partements...Ben c'est ca que j'ai quoi !!
    Concernant la taile de l'image je sais que quand je l'aurai sa dimension sera A3. Je la num�riserai et donc j'aurai une image. C'est apr�s que je bloque...
    Si jamais je mets mon image en fond d'�cran dans une form, que on sp�cifie des Timages un peu partout mais sans y donner d'images attribu�es, ca devrait rester transparent et ca devrait aller je pense non?

  13. #13
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Citation Envoy� par arnaud_verlaine
    Si jamais je mets mon image en fond d'�cran dans une form, que on sp�cifie des Timages un peu partout mais sans y donner d'images attribu�es, ca devrait rester transparent et ca devrait aller je pense non?
    Les TImages sont rectangulaires, d'apr�s ce que vous dites �a ne va pas r�soudre votre probl�me. En fait, si je comprends bien, vous voulez pouvoir d�limiter des surfaces al�atoires n'importe o� sur une grande image de d�part (pour simplifier ces surfaces peuvent �tre d�finies par des lignes droites donc ce seront des poligones quelconques) et y associer un clic. Mais l'ensemble de ces surfaces n'est pas cens� repr�senter toute l'image. �tant donn� les formes diverses des parcelles, il y aura des zones de l'image non associ�es � une parcelle sudivis�e. Si vous devez faire ces subdivisions � la main et non en automatique, vous n'�tes pas sorti de l'auberge.

    � bient�t
    Gilles

  14. #14
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    Citation Envoy� par Gilles Lou�se
    Si vous devez faire ces subdivisions � la main et non en automatique, vous n'�tes pas sorti de l'auberge.
    Voil� je pense qu'on se comprend l�
    Je pense que le meilleur moyen alors est de mettre l'image en fond d'�cran, de mettre des TImages dessus de forme rectangulaire la plus grande que l'on peut mettre dans la dites parcelle. Disons qu'on ne saura pas cliquer sur le bord de l'image mais je suppose que l'utilisateur va tjs cliquer plus ou moins au milieu de la parcelle en question.. Ou alors oui ce n'est pas possible. En faisant ce syst�me ce n'est pas la rapidit� certes d'une fonction, mais en qques jours ( ) je pense que toutes les images seront plac�es...
    Je ne vois que cette soluce. Si qqun a une autre id�e, qu'il n'ai pas peur de se montrer

  15. #15
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Citation Envoy� par arnaud_verlaine
    la plus grande que l'on peut mettre dans la dites parcelle.
    Comment vont-�tre d�finies ces parcelles? J'avoue que j'ai du mal � vous comprendre. Est-ce seulement visuel (on clique dans l'image) ou bien aura-t-elle une forme pr�cise? Si oui, qui va lui donner cette forme? Si c'est visuel, �tant donn� qu'on peut conna�tre les coordonn�es en x et en y d'un clic, il me para�t inutile de quadriller l'image par des TImage.

    � bient�t
    Gilles

  16. #16
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    Citation Envoy� par Gilles Lou�se
    Si c'est visuel, �tant donn� qu'on peut conna�tre les coordonn�es en x et en y d'un clic, il me para�t inutile de quadriller l'image par des TImage.
    Ben voil�
    J'avais pas pens� � �a... Je crois qu'avec ca je suis bon
    Non au niveau du d�coupage en rectangle, voici en image ce que j'essaie de dire depuis tantot :
    www.infotek.be/Fichiers/france.gif
    mais en effet, je pense que les simples coordonn�es X et Y me suffisent sans pour encore redessiner une image dessus...
    Merci en tout cas pour vos conseils !

  17. #17
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Pour t'affranchir des zones clickables rectangulaires, tu pourrais aussi faire une image qui a les m�mes dimensions que ton image affich�e. Cette deuxi�me image (appelons-la C) sert � d�finir la zone cliqu�e gr�ce � un code de couleur (couleur1=zone1, couleur2=zone2, etc). C'est tr�s facile � obtenir puisque tu copies l'image de base et peints directement les zones avec un programme de dessin.

    Ensuite, � partir des coordonn�es X/Y du click sur l'image principale, tu vas p�cher la couleur correspondante dans l'image C et tu sais imm�diatement quelle zone a �t� s�lectionn�e par l'utilisateur...

  18. #18
    Membre �clair�
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    795
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 795
    Par d�faut
    C'est exactement ce que je pensais faire !!
    Merci du conseil

  19. #19
    Membre Expert

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 412
    Par d�faut
    Salut !

    Bien que ce soit r�solu...

    - soit tu prends le "risque" de d�velopper un algo qui va d�tecter le contour
    des parcelles depuis une image.

    - soit tu te contentes de capturer manuellement le contour des parcelles
    sur l'image.

    Dans les deux cas on r�cup�re des sommets et une parcelle est alors trait�e
    comme un polygone.

    La gestion pourrait se faire avec les API WINDOWS :

    CreatePolygonRgn, PtInRegion, PaintRgn (ou TCanvas::Polygon) etc...

    Sinon tu peux �galement consulter le post-it de JEG : jAPI : Une API pour C++.

    A plus !

  20. #20
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    332
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 332
    Par d�faut
    Bonjour,

    As-tu pens� � essayer avec du flash (tu importes une anim dans ton code ) ?

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. [sh] Cr�ation d'une appli de d�coupage d'images
    Par ettar dans le forum Shell et commandes GNU
    R�ponses: 13
    Dernier message: 17/05/2014, 19h51
  2. [d�butant] BD d'images num�riques: cr�ation et m�thode d'acc�s
    Par thibouille dans le forum Bases de donn�es
    R�ponses: 2
    Dernier message: 01/11/2007, 18h23
  3. R�ponses: 11
    Dernier message: 27/09/2007, 17h59
  4. [VB.NET][VS2005] D�coupage d'images
    Par Ourszor dans le forum Windows Forms
    R�ponses: 3
    Dernier message: 28/04/2006, 11h20
  5. [CSS] D�coupage header (image fond)
    Par rudwolf dans le forum Mise en page CSS
    R�ponses: 1
    Dernier message: 22/03/2006, 20h05

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