JeuWeb - Crée ton jeu par navigateur
[Résolu] Carte - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Carte (/showthread.php?tid=2884)



[Résolu] Carte - Istarie - 13-08-2008

Donc une image est crée de pixel et les pixel de sous pixel (RVB) Merci mes cours de télé.

Est ce que il y a un moyen de prendre :
1 sous pixel --> 1 case au lieu de 1 pixel --> une case ?

Cette question n'a aucun but précis mais c'est juste pour savoir si c'est possible donc ne vous tracassé pas trop.


RE: Carte - thelos - 13-08-2008

Il n'y a pas de sous pixel.

Que des pixels ou des agglomérations de pixels Smile


RE: Carte - Istarie - 13-08-2008

Je pense que si.

Les RVB sont les couleurs primaire. Enfin ça marche comme ça dans vos télés. Je ne sais pas si sur une image c'est pareil.

<edit fait par kéké pour arriver à comprendre ce qui a été marqué.>


RE: Carte - Cartman34 - 15-08-2008

"Le pixel est l'unité minimale adressable par le contrôleur vidéo"
"Pour l'informatique, un pixel est codé sur un ou plusieurs bits (...), selon la « profondeur », c'est-à-dire du nombre de couleurs affichables :

* noir et blanc : un bit ;
* 16 couleurs (standard VGA) : 4 bits ;
* 256 couleurs : 8 bits (1 octet) ;
* 65 536 couleurs (« milliers de couleurs ») : 16 bits ;
* 16 777 216 couleurs (« 16 millions de couleurs », true colors) : 24 bits."
(Wikipédia FR)

Je pense qu'avec quelque recherches tu peux voir qu'il n'y a pas de sous pixel mais uniquement des pixels codés par des bits.
Les pixels ont des dimensions variables, sachant qu'il existe les Mégapixels (1.000 * 1.000 pixels).
Voir aussi les Voxels et les Texels.

Les px sont bien vus par l'oeil humain mais ils ne peuvent être utilisés pour représenter une "case".


RE: Carte - Ruz - 15-08-2008

IGstaff a écrit :Les px sont bien vus par l'oeil humain mais ils ne peuvent être utilisés pour représenter une "case".
hum... pas si d'accord... (voir ma génération de cases (map) à partir d'une image)
ca manque de précision, cette discussion...

"une image"=> quelle image?
De quel genre de case parles-tu?
Que désirerais-tu faire avec ces sous-pixels? (qu'on pourrait appliquer aux trois composantes RGB d'un pixel)

Sinon, une image peut très bien servir à stocker des données... pas le plus utile/rapide, mais c'est techniquement possible. Faut juste y trouver un intéret très spécial.


RE: Carte - Istarie - 16-08-2008

Comme je l'ais dit au début cette question n'a pas trop d'intérêt c'est juste pour me renseigner si l'informatique et comme la télé.

Mais voila avec un CRT (tube cathodique) de même pour LCD, PLASMA, oLED et aLED. Les carte graphique envoi du CVBS (Chroma(SECAM pour nous) + Luminance(Y)). Avec la chroma ont a les RVB. Donc la carte graphique envoi bien les RVB qui sont en quelque sorte les sous pixel d'un pixel.

Donc ce que je cherche c'est récupérer c'est RVB pour faire une sorte de variation de climat.

Y = 0.3R + 0.6V + 0.1B

Et du faite que je change une valeur est ma couleurs varie dans toute les case dans une teinte différente.


RE: Carte - Ruz - 16-08-2008

utilise plutot le terme "composantes" que "sous-pixel"
sinon, oui, on peut utiliser ces trucs...

récupérer les composantes d'un pixel, c'est pas dur à faire... faut juste penser que tu reçois de l'hexadécimal, en général.


RE: Carte - Istarie - 16-08-2008

Comment sa ?


RE: Carte - Ruz - 18-08-2008

Bah, facile... voir mon script sur le wiki...
Allez, je te donne le bout qui t'intéresse:

Code PHP :
<?php 
//prévoir une détermination de la taille de ton image ($max_X et $max_Y) + interprétation de la bonne extension de l'image

for($y=$min_Y;$y<=$max_Y;$y++)
{
for(
$x=0;$x<=$image_x-1;$x++)
{
$ok=0;
//on récupère la couleur du pixel.
$valeur=imagecolorat($image, $x, $y);

//transformation en couleur RGB
$r = ($valeur >> 16) & 0xFF;
$g = ($valeur >> 8) & 0xFF;
$b = $valeur & 0xFF;

if(
$r<=9) {$r1='0'.base_convert($r, 10, 16);} else{$r1=base_convert($r, 10, 16);}
if(
$g<=9) {$g1='0'.base_convert($g, 10, 16);} else{$g1=base_convert($g, 10, 16);}
if(
$b<=9) {$b1='0'.base_convert($b, 10, 16);} else{$b1=base_convert($b, 10, 16);}

$RGB=$r1.$g1.$b1; //echo '<br />Case ['.$x.','.$y.'] = #'.$RGB;
}
}
Attention , faut que ton image ai une profondeur de couleur en 16bits ^^
les composantes: ben, ici, c'est $r1, $g1 et $b1 pour chaque pixel (en hexa)

c'est bien ca, que tu cherches?


RE: Carte - Istarie - 18-08-2008

Je pense mais vu que je ne connais presque plus rien au php, j'y comprend pas grand chose mais je le garde de cotes et je retravailler dessus après mes cours de SDZ.

Merci