Images en quadrichrome sur vg5000

Cette catégorie traite de développements récents destinés à nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Images en quadrichrome sur vg5000

Message par rendomizer »

merci sam c'est ce que je cherchais je vais essayer ça de suite avec blitzplus. Mais je comprend pas pourquoi il me retourne -1 quand j'ai 256 ?
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
DataPro
Messages : 2797
Inscription : 07 févr. 2011 17:03
Localisation : France - Auvergne

Re: Images en quadrichrome sur vg5000

Message par DataPro »

Est-ce que les 256 valeurs ne vont pas seulement de 0 à 255 ?
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Images en quadrichrome sur vg5000

Message par rendomizer »

non il retourne -1 pour 256 !
Je ne suis qu'un utilisateur pas un pro
Daniel
Messages : 17411
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Images en quadrichrome sur vg5000

Message par Daniel »

Dans la formule donnée par __sam__ il y a pour chaque composante un "modulo 256". Il est impossible d'obtenir la valeur 256. C'est [0-255].
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Images en quadrichrome sur vg5000

Message par rendomizer »

quand la valeur est = à 255 il me rtourne -1 :shock:


Code : Tout sélectionner

 file$=RequestFile$("choose a wav file","raw",False)  
 
  Graphics 800,600,32,2  

  Dim num(100000)    

 fil=ReadFile(file$)        

  For i=1 To 2500 

  num(i)=ReadInt(fil)    

  Next       

  CloseFile(dataout)

  For i=1 To 2500  Step 3

 y =num(i)  

 Color 255,255,255 

bleu= y /(256*256) Mod 256
Text x,u," "+  bleu 
 
   u=u+10

If  u>600 Then u=0:Cls 

  Flip  

 Delay 100
 Next 
 Delay 25000 
Je ne suis qu'un utilisateur pas un pro
Daniel
Messages : 17411
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Images en quadrichrome sur vg5000

Message par Daniel »

Chaque octet donnant la valeur d'une composante est non signé. Le bit 7 n'est pas un signe, c'est le bit de poids fort.
Dans les calculs il faut utiliser des nombres entiers non signés.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7964
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Images en quadrichrome sur vg5000

Message par __sam__ »

En fait c'est tordu et c'est à cause de l'alpha à 255 en tête. Les entiers sont tous de la forme $FFxxyyzz, donc négatifs. Essaye de faire

Code : Tout sélectionner

y = num(i) AND (256*256*256-1)
pour voir si ca aide (sinon il faudra ruser au niveau du i, mais je voudrais pas compliquer inutilement).
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Images en quadrichrome sur vg5000

Message par rendomizer »

la galere je m'en sors pas ! :shock: :? :(
Je ne suis qu'un utilisateur pas un pro
__sam__
Messages : 7964
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Images en quadrichrome sur vg5000

Message par __sam__ »

Si tu ne nous dis pas ce qu'il se passe ou ne se passe pas, on peut pas trop deviner. Tu as toujours des nombres négatifs malgré la dernière formule avec le "AND (256*256*256-1)", c'est ca ?
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Images en quadrichrome sur vg5000

Message par rendomizer »

non j'ai pas trouvé comment c'était organisé les combinaisons des coleurs :? :( :)
Je ne suis qu'un utilisateur pas un pro
__sam__
Messages : 7964
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Images en quadrichrome sur vg5000

Message par __sam__ »

Ah ? donc rien à voir avec le problème du "-1" dans viewtopic.php?p=176614#p176614
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: Images en quadrichrome sur vg5000

Message par rendomizer »

j'ai ben respecté le "header" mais pour les trois composante rvb il y a des choses qui me semblent bien mystérieux notamment quand je lis une image pleine rouge a mie ton ile me sors non pas sur 3 octets mais sur 9 ! alors je ne comprend pas :o :shock: :?
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
Dominique
Messages : 829
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: Images en quadrichrome sur vg5000

Message par Dominique »

Je ne sais pas si ça peut aider, mais pour faire la même chose avec le MO5 je prenais une image BMP de 320X200 pixels

Avec un simple Visual Basic j'utilisais la fonction : Couleur_XXXX = GetPixel(fen, 8 * XA, YA)

Code : Tout sélectionner


Set img_départ = LoadPicture("C:\TASM\Thomson\ScanMO\Burgetimer.bmp")

//'récupère le bitmap correspondant à l'image
GetObjectAPI img_départ.Handle, Len(bm_départ), bm_départ 

larg = bm_départ.bmWidth
haut = bm_départ.bmHeight

//'crée un Devide Context (DC)
fen = CreateCompatibleDC(GetDC(0)) 

//'charge l'image danss le DC
SelectObject fen, img_départ 

hdc_fin = CreateCompatibleDC(GetDC(0))

//crée un bitmap pour l'img modifiée
img_fin = CreateCompatibleBitmap(GetDC(0), larg, haut) 

 //charge le bitmap ds le DC
SelectObject hdc_fin, img_fin

For YA = 0 To haut - 1
For XA = 0 To larg / 8 - 1

Couleur_Forme = GetPixel(fen, 8 * XA, YA)

etc...

Next XA
Next YA
Daniel
Messages : 17411
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Images en quadrichrome sur vg5000

Message par Daniel »

rendomizer a écrit : 04 déc. 2020 08:49 quand je lis une image pleine rouge a mie ton ile me sors non pas sur 3 octets mais sur 9 ! alors je ne comprend pas :o :shock: :?
Au début je ne comprenais pas davantage, mais après avoir bien analysé la phrase et corrigé les fautes j'ai fini par trouver :
Quand je lis une image entièrement rouge à mi-ton, il me sort, non pas sur 3 octets, mais sur 9.

En fait, même après correction, je ne comprends toujours pas :roll:
Je croyais bêtement que les couleurs étaient codées sur 4 octets : canal alpha, rouge, vert, bleu.
Si on avait le fichier .bmp ce serait plus clair...
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7964
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Images en quadrichrome sur vg5000

Message par __sam__ »

Surtout que comment il "sait" que les couleurs sont à présent non plus sur 4 octets, mais sur 9 ? Il y a beaucoup trop d'implicite pour pouvoir aider.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Répondre