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

JavaScript Discussion :

Manipulation de giga image


Sujet :

JavaScript

  1. #1
    Membre averti

    Homme Profil pro
    Chargé de projet
    Inscrit en
    Juillet 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 14
    Billets dans le blog
    1
    Par défaut Manipulation de giga image
    Bonjour à tous,

    Je suis en train de créer un jeu d'aventure style point and clique sur navigateur. Il n'est pas question de faire de l'animation dans des décors, mais plus de faire vivre de nombreuses aventures sur des cartes et plans de grandes tailles et très détaillés.

    Pour cela je voudrais afficher des images de grande taille (6000x3000px) dans le navigateur avec un zoom sur la molette de souris. Au zoom mini, l'image s'afficherait en plein écran. Pour les zooms intermédiaires à maximum (deux ou trois niveaux), on pourrait faire des cliqués-glissés sur l'image. Il faut bien penser qu'après, il faut afficher sur l'image des sprites qui eux ne changeraient pas de taille pendant un zoom et garderait toujours la même position sur la carte, quelle que soit sa taille pour indiquer des lieux.

    Je n'ai pas d'expérience en javascript et html5 qui est la seule manière pour créer ce genre de fonctionnalité. Il doit exister un jquery qui propose ce genre de fonctionnalité. Quelqu'un en connaîtrait un qui serait adapté à cela.
    Je ne pense pas qu'utiliser un système style google map serait la bonne solution.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Il existe en effet quelques plugin jquery pour gérer ce genre de cartes
    http://www.jqueryrain.com/example/jquery-map/page/5/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti

    Homme Profil pro
    Chargé de projet
    Inscrit en
    Juillet 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 14
    Billets dans le blog
    1
    Par défaut
    Merci,

    Grace à cette piste, j'ai trouvé ce jQuery.

    http://www.jqueryrain.com/?tD0QO4eg

    Mais je n'arrive pas à le faire fonctionné.

    Par contre j'ai réussi à intégrer celui-ci.

    http://bl.ocks.org/sgruhier/1d692762f8328a2c9957

    Maintenant il ne reste plus qu'à trouver comment remplacer le cercle bleu par une image et créer des bornes au zoom et déplacement.

    Je ne sais toujours pas si cela est adapté.

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Sans un minimum de connaissances c'est peine perdue. Ton second lien bl.ocks.org utilise d3 basée sur SVG, avec V comme vectoriel. Donc pas d'image bitmap...

  5. #5
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    jour

    un truc dans ce genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <style type="text/css">
    body{
    background-color:gray;
    }
    #conte{
    cursor:zoom-in;
    height:400px;
    width:500px;
    overflow:hidden;
    position:relative;
    top:20px;
    background-color:white;
    margin:auto;
    border:2px solid;
    border-color:black;
    }
     
    #divim{
    height:400px;background:red;position:relative;left:0px;top:0px
    }
    </style>
    <script>
     
    function dirizoom(e){
     
    		e.preventDefault();
     
    		var delta = e.wheelDelta ? e.wheelDelta/120 : -e.detail/3;
     
    		var val= delta< 0 ? -0.15 : 0.15;
     
    		var elem=document.getElementById('divim');
     
    		var position = elem.getBoundingClientRect();
     
    		var dirle=(elem.offsetWidth/2)-(e.clientX-position.left);
    		var dirto=(elem.offsetHeight/2)-(e.clientY-position.top);
    		var lf=elem.offsetWidth;
    		var rf=elem.offsetHeight;
    		elem.style.width=lf+(lf*val)+'px';
    		elem.style.height=rf+(rf*val)+'px';
    		elem.style.left=elem.offsetLeft-((elem.offsetWidth-lf)/2)+(dirle*val)+'px';
    		elem.style.top=elem.offsetTop-((elem.offsetHeight-rf)/2)+(dirto*val)+'px';
    }
     
    function zoominit(){
     
    		var elmouse=((navigator.userAgent.indexOf("Firefox") != -1) ? 'DOMMouseScroll' : 'mousewheel')
     
    		document.getElementById('divim').addEventListener(elmouse,dirizoom, false);
    }
     
    addEventListener('load',zoominit,false);
    </script>
    </head>
    <body>
     
    <div id='conte'>
    <img src="https://cdn.photographylife.com/wp-content/uploads/2014/06/Nikon-D810-Image-Sample-6-960x641.jpg" id='divim' />
    </div>
     
    </body>
    </html>

  6. #6
    Membre averti

    Homme Profil pro
    Chargé de projet
    Inscrit en
    Juillet 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 14
    Billets dans le blog
    1
    Par défaut
    Je suis là pour apprendre.

    Donc avec SVG, on ne peut pas mettre d'image. Il faut que je m'oriente sur autre chose. Merci Sylvain.

    Le truc du genre de ce que propose melka one a certaines bases intéressantes. Merci. Mais il n'y a que le zoom et pas de cliquer-glisser de l'image. Aussi, il y a un problème, car le zoom est influencé par la position du curseur de la souris. Que l'on ne puisse zoomer que quand la sourie est sur l'image pas de problème, mais le zoom déplacement en même temps la position de l'image. Et au bout d'un certain nombre de manipulations, on arrive même à faire sortir l'image du cadre.

    J'ai essayé de modifier le code en remplaçant la taille du cadre par 100% pour être en plein écran et cela se comporte bizarrement.

    Mais cela avance.

  7. #7
    Membre averti

    Homme Profil pro
    Chargé de projet
    Inscrit en
    Juillet 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 14
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Voici un code qui marche un peu. Il y a un problème avec le cliquer glisser car il ne fonctionne que dans une diagonal de en haut à gauche vers en bas à droite. Je me demande pourquoi ?
    Il faut résoudre ce problème avant de mettre des limites au déplacement et au zoom. Merci de votre aide.

    HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
     
    <position valeur="centre"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
        <head>
            <title>test carte</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <link rel="stylesheet" media="screen" type="text/css" title="Design" href="testimage.css" />
            <script type="text/javascript" src="testimage.js"></script>
        </head>
     
        <body>   
     
    		<img style="position:absolute; top:200px; left:100px;" onmousedown="return drag(this);" src="images/layer.jpg" alt="carte" id='divimg' />
     
        </body>
    </html></position>
     
    CSS
     
    <position valeur="centre">
     
    html, body, div, span, h1, h2, h3, h4, h5, h6, p, hr,
    a, img, b, ul, li, object, script
    {
    	margin: 0;
    	padding: 0;
    	border: 0;
    	outline: 0;
    	font-size: 100%;
    	background: transparent;
    	vertical-align: baseline;
    }
     
    ol, ul {
      list-style: none;
    }
     
    body{
    background-color:gray;
    }
     
    #divimg{
    	cursor:zoom-in;
    	width:100%;
    	height:100%;
    	position:relative;
    	left:0px;
    	top:0px
    	}
     
    </position>
     
    JS
     
    //fonction déplacement de l'image
     
    var element=false, memox=0, memoy=0, x=0, y=0, memol=0, memot=0;
    function drop()
    {
        element=false;
    }
    function drag(elt)
    {
        memox=x;
        memoy=y;
        element=elt;
        memol=parseInt(elt.style.left);
        memot=parseInt(elt.style.top);
        return false;
    }
    function move(e)
    {
        e=e || window.event;
        x=event.clientX;
        y=event.clientX;
        if(element)
        {
            element.style.left=memol+y-memoy;
            element.style.top=memot+x-memox;
        }
    }
    window.onmouseup=drop;
    window.onmousemove=move;
     
    //fonction zoom de l'image
     
    function cartezoom(e){
     
    		e.preventDefault();
     
    		var delta = e.wheelDelta ? e.wheelDelta/120 : -e.detail/3;
     
    		var val= delta< 0 ? -0.15 : 0.15;
     
    		var elem=document.getElementById('divimg');
     
    		var position = elem.getBoundingClientRect();
     
    		var dirle=(elem.offsetWidth/2)-(e.clientX-position.left);
    		var dirto=(elem.offsetHeight/2)-(e.clientY-position.top);
    		var lf=elem.offsetWidth;
    		var rf=elem.offsetHeight;
    		elem.style.width=lf+(lf*val)+'px';
    		elem.style.height=rf+(rf*val)+'px';
    		elem.style.left=elem.offsetLeft-((elem.offsetWidth-lf)/2)+(dirle*val)+'px';
    		elem.style.top=elem.offsetTop-((elem.offsetHeight-rf)/2)+(dirto*val)+'px';
    }
     
    function zoominit(){
     
    		var elmouse=((navigator.userAgent.indexOf("Firefox") != -1) ? 'DOMMouseScroll' : 'mousewheel')
     
    		document.getElementById('divimg').addEventListener(elmouse,cartezoom, false);
    }
     
    addEventListener('load',zoominit,false);

  8. #8
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    c'est un truc dans ce genre que tu veut faire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
     
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <style type="text/css">
    body{
    background-color:gray;
    }
    #conte{
    cursor:zoom-in;
    height:600px;
    width:838px;
    overflow:hidden;
    top:20px;
    background-color:white;
    margin:auto;
    border:0px solid;
    border-color:black;
    }
     
    #divim{
    position:relative;
    background-image: url("http://papotage.kamiloka.com/wp-content/uploads/2011/12/SuperMarioWorld-carte2.jpg");
    height:600px;
    width:838px;
    background-repeat:no-repeat;
    background-size:100%;
    }
     
    .pt1{
     
    position:absolute;
    background:red;
    height:14px;
    width:14px;
    border-radius: 7px;
    cursor:pointer;
    }
    </style>
    <script>
     
     
    var obj_point=[
     
    {
    gauche:340,
    haut:210,
    txt:"zone 1"
    },
     
    {
    gauche:565,
    haut:85,
    txt:"zone 2"
    },
     
    {
    gauche:548,
    haut:284,
    txt:"zone 3"
    },
     
    {
    gauche:344,
    haut:411,
    txt:"zone 4"
    },
     
    ]
     
    function zoomi(config){
     
    this.val=1
    this.lf=config.largeur_image;
    this.rf=config.hauteur_image;
    this.obj=config.nom_objet;
    this.elem=document.getElementById(config.div_conteneur);
     
    	var elmouse=((navigator.userAgent.indexOf("Firefox") != -1) ? 'DOMMouseScroll' : 'mousewheel')
     
    	this.elem.addEventListener(elmouse,this.dirizoom.bind(this),false);
     
    	this.elem.onmousedown=drg.deplacer.bind(this);
     
    	var largeur=1/this.lf;
    	var hauteur=1/this.rf;
     
    	for (var i = 0; i< obj_point.length; i++){
     
    		var pt=document.createElement("div")
    		pt.setAttribute("class","pt1")
    		pt.style.left=obj_point[i].gauche+'px';
    		pt.style.top=obj_point[i].haut+'px';
    		pt.setAttribute('rel',i);
     
    		pt.onmousemove=this.trap.bind(this);
    		pt.onmouseout=function(){this.suivi.style.display='none';}.bind(this);
    		pt.onclick=this.action.bind(this);
     
    		obj_point[i].elem=document.getElementById("divim").appendChild(pt);
     
    		obj_point[i].posi_pt_l=obj_point[i].gauche*largeur
    		obj_point[i].posi_pt_t=obj_point[i].haut*hauteur
     
    	}
     
    	var vid=document.createElement('div');
    		vid.style.position='absolute';
    		vid.style.display='none';
    		vid.style.background="#292929";
    		vid.style.color="white";
    		vid.style.borderRadius="3px";
    		vid.style.padding= "5px";
    		vid.style.maxWidth="150px";
     
    		var spa=document.createElement('span');
    		vid.appendChild(spa);
     
    		this.suivi=document.body.appendChild(vid);
     
     
    }
     
    zoomi.prototype.dirizoom=function(e){
     
    		e.preventDefault();
     
    		var delta = e.wheelDelta ? e.wheelDelta/120 : -e.detail/3;
     
    		this.val= delta< 0 ? this.val-0.1 : this.val+0.1;
     
    		var elem=this.elem;
     
    		var position = elem.getBoundingClientRect();
     
    		var largeur=1/position.width;
    		var hauteur=1/position.height;
     
    		var distance_g=e.clientX-position.left;
    		var distance_h=e.clientY-position.top;
     
    		var pourcent_l=largeur*distance_g
    		var pourcent_h=hauteur*distance_h
     
    		elem.style.width=(this.lf*this.val)+'px';
    		elem.style.height=(this.rf*this.val)+'px';
     
    		elem.style.left=distance_g-(elem.offsetWidth*pourcent_l)-(elem.parentNode.offsetLeft-position.left)+'px';
    		elem.style.top=distance_h-(elem.offsetHeight*pourcent_h)-(elem.parentNode.offsetTop-position.top)+'px';
     
    		//elem.style.left=-((lf*val)-lf)/2+'px';  //zoom centré
    		//elem.style.top=-((rf*val)-rf)/2+'px';
     
    		for (var i = 0; i< this.obj.length; i++){
     
    		this.obj[i].elem.style.left=this.obj[i].posi_pt_l*(this.lf*this.val)+'px';
    		this.obj[i].elem.style.top=this.obj[i].posi_pt_t*(this.rf*this.val)+'px';
    		this.obj[i].elem.style.height=15*this.val+"px";
    		this.obj[i].elem.style.width=15*this.val+"px";
    		this.obj[i].elem.style.borderRadius=(15*this.val)/2+"px";
    		}
     
    }
     
    zoomi.prototype.trap=function(evt){
     
    		evt =(!evt) ? window.event : evt;
     
    		var el=typeof window.addEventListener == 'undefined' ? event.srcElement : evt.currentTarget;
     
    		var XX =evt.pageX;
    		var YY =evt.pageY;
     
    		this.suivi.style.top=YY-20+'px';
    		this.suivi.style.left=XX+20+'px';
     
    		var chiffre=parseInt(el.getAttribute('rel'));
     
    		this.suivi.getElementsByTagName("span")[0].textContent=obj_point[chiffre].txt;
     
    		this.suivi.style.display='block';
     
    }
     
    zoomi.prototype.action=function(evt){
     
    alert(evt.currentTarget.getAttribute("rel"))
     
    }
     
    var drg={
     
    rar:true,
    decx:0,
    decy:0,
    elem:"",
     
    deplacer:function (e){
     
    		if(drg.rar && e.type=="mousedown"){
     
    			e.preventDefault();
    			drg.elem= e.currentTarget
     
    			drg.decx=e.pageX - drg.elem.offsetLeft
    			drg.decy=e.pageY - drg.elem.offsetTop
     
    			document.documentElement.addEventListener("mousemove", drg.posi, false)
    			document.getElementById('divim').addEventListener("mouseup", drg.deplacer, false)
    			drg.rar=false;
    		}
     
    		if(drg.rar==false && e.type=="mouseup"){
     
    				document.documentElement.removeEventListener("mousemove", drg.posi, false)
    				document.getElementById('divim').removeEventListener("mouseup", drg.deplacer, false)
    				drg.rar=true;
    		}
    	},
     
    posi:function(e){
     
    		drg.elem.style.left=(e.pageX-drg.decx-drg.elem.parentNode.offsetLeft)+"px";
    		drg.elem.style.top=(e.pageY-drg.decy-drg.elem.parentNode.offsetTop)+"px";
    	}
     
    	}
     
     
    addEventListener('load',function(){
     
    var config={
    div_conteneur:'divim',
    largeur_image:838,
    hauteur_image:600,
    nom_objet:obj_point
    }
     
     
    new zoomi(config);
     
    },
    false);	
     
     
    </script>
    </head>
    <body>
     
    <div id='conte'>
    <div id='divim'></div>
    </div>
     
    </body>
    </html>
    sans jQuery

  9. #9
    Membre averti

    Homme Profil pro
    Chargé de projet
    Inscrit en
    Juillet 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chargé de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 14
    Billets dans le blog
    1
    Par défaut Cela avance bien
    Effectivement, c'est exactement ce que je veux faire.

    Le problème maintenant, c'est qu'il faut qu'il y ai des bornes au zoom comme au déplacement. Je veux manipuler une image très grande dans les 5000 x 2500 px.
    - Le zoom mini doit faire que l'image soit de la taille du cadre et que le zoom maxi soit la taille réelle de l'image.
    - Pour le déplacement, il ne peut pas se faire quand on est zoom mini et quand on est au zoom maxi, le bord de l'image ne doit pas sortir du cadre.
    D'ailleurs le cadre doit prendre toute le navigateur.

    J'ai réussi à faire cela.
    http://www.selandia.fr/book/projet/2...est/test3.html

    Merci pour les idées.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. manipulation de matrice/image
    Par Ronan_ dans le forum OpenCV
    Réponses: 1
    Dernier message: 25/06/2014, 16h54
  2. Visualisation et manipulation d'une image 3DS ?
    Par blackbird1 dans le forum OpenCV
    Réponses: 0
    Dernier message: 30/04/2014, 03h35
  3. [WD14] Manipulation d'une image
    Par Raptor92 dans le forum WinDev
    Réponses: 63
    Dernier message: 28/10/2009, 14h38
  4. Manipuler des fichiers images avec du .NET
    Par zooffy dans le forum ASP.NET
    Réponses: 20
    Dernier message: 15/10/2009, 11h44
  5. manipulation d'une image, comment faire ?
    Par Virgile le chat dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 28/03/2009, 13h30

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