1

yop,


J'ai une image ( 8wOK ). C'est un PNG.

Je voudrais rendre tout le blanc transparent avec GIMP, mais je n'ai aucune envie de me fader toute la doc pour trouver comment faire. Si on me disait comment, ça me permettrait d'être autonome pour mes autres images, merci d'avance. smile

2

Avec gimp je sais pas, mais en gros avec une baguette magique et une sélection/suppression du blanc, ça devrait bien se passer.


Sinon, avec un simple logiciel de base qui te permet d'enregistrer en png (irfanview par exemple), tu peux choisir le blanc comme couleur transparente (=masque), et... voilà :
TmVk

3

Dans GIMP (je viens de tester) :

1) Calque -> Transparence -> Ajouter un canal alpha (pour pouvoir créer de la transparence, vu que l'image est opaque par défaut)

2) Outil -> Outils de sélection -> Sélection par couleur

3) Cliquer sur une zone contenant la couleur à rendre transparente pour sélectionner toutes les zones ayant cette couleur

4) Appuyer sur Suppr.

Et hop !
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4

tiens quelle image étrange, elle me dit quelque chose tripo

5

Oui moi aussi, j'ai une bizarre impression de déjà-vu hum
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

6

Merci Penosquare. smile

squalyl -> ah oui, tu crois ?? #triclasse#

7

Ah, et j'aimerais aussi comprendre ces histoires de transparence, je ne comprends rien à ces histoires d'alpha blending que je trouve sur WP ><


Les couleurs de mon PNG sont codées sur 4 octets. Comment, en modifiant le premier octet de chaque pixel, on peut dire "le blanc est transparent" ? Comment un soft comme SDL se dira "tiens, cet octets (de 8 bits) me dit que telle couleurs (codée sur 24 bits) est transparente ? J'arrive pas à piger le truc sad
Pourquoi il ne faut pas 3 octets pour désigner une couleur transparente dans un panel de couleurs codées sur 3 octets ? confus

8

9

Effectivement, mon post qui parle de sélection laisse croire que les couleurs sont indexées, ce qui n'est pas le cas (par contre sur le gif c'était le cas, du coup c'était vraiment un simple masque)

Sur le png, il y a un canal alpha, c'est à dire qu'au lieu de coder les couleurs sur trois canaux RVB (3*8 bits=24 bits), on code la couleur sur 32 bits. => RVBA, avec A pour alpha.
C'est à dire que pour chaque pixel, on a une information de couleur sur 24 bits et une information de transparence sur 8 bits (32 bits au total)

La sélection du blanc lors de l'enregistrement n'est qu'un raccourci d'interface utilisateur, qui fixe le canal alpha de chaque pixel blanc à "tout transparent" (genre 0 ou 255, je sais plusgrin) et qui laisse tous les autres pixels de l'image complètement opaques.

Ça donne quelque chose de ce genre :
for (y= 0 ; y < height ; ++y ) {
   for (x= 0 ; x < width ; ++x ) {
      p= pixels[x][y] ;
      if ( p.r == 0xff && p.g == 0xff && p.b == 0xff ) { // pixel blanc, c'est la couleur choisie par l'utilisateur
         p.a= 0 ;
      }
   }
}
saveToFile() ;

10

ah putaing, j'ai réfléchi n'importe comment ! Ben ok, maintenant j'ai compris. Merci mon gros lapinou ! calin

11

hehe

12

13

ttk grin

14

Pen^2 (./9) :
Sur le png, il y a un canal alpha, c'est à dire qu'au lieu de coder les couleurs sur trois canaux RVB (3*8 bits=24 bits), on code la couleur sur 32 bits. => RVBA, avec A pour alpha.
C'est à dire que pour chaque pixel, on a une information de couleur sur 24 bits et une information de transparence sur 8 bits (32 bits au total)

La sélection du blanc lors de l'enregistrement n'est qu'un raccourci d'interface utilisateur, qui fixe le canal alpha de chaque pixel blanc à "tout transparent" (genre 0 ou 255, je sais plus biggrin.gif ) et qui laisse tous les autres pixels de l'image complètement opaques.
Le PNG peut également utiliser une palette avec une couleur transparente.
avatar

15

Ah ben tiens, puisque t'en parles, c'est quoi une palette ? grin
Genre ça : http://www.libsdl.org/docs/html/sdlsetpalette.html
J'y pige rien cheeky

16

chaque pixel ne contient plus les composantes RVB sur 24 bits ou plus, mais un indice qui sert à adresser une table de couleurs, qu'on appelle la palette cheeky
En général les indices font 8 bits, donc ça économise de la place, surtout si l'image contient un nombre réduit de couleurs.

17

Aller, avoue, c'est Zeph qui t'as soufflé la réponse, hein ? Avoue que tu savais pas !!!

18

J'en veux pour preuve :
[18:27:43] <Zeph> Folco > une palette c'est un niveau d'indirection supplémentaire par rapport à la solution où chaque pixel de ton image possède un triplet de composantes RGB (ou même RGBA)
[18:28:00] <Zeph> tu définis une palette d'un certain nombre de couleurs, par exemple 100
[18:28:40] <Zeph> et ensuite pour chaque pixel de ton image tu indiques quelle couleur de ta palette il utilise (tu as juste besoin d'un index, sur 8 bits ça peut suffire tant que tu as moins de 256 couleurs différentes dans ton image)
[18:29:28] <Zeph> pour des fichiers ça permet de prendre moins de place sans réduire le nombre de couleurs disponibles (la contrainte étant que tu ne peux pas en utiliser trop à la fois, sinon la palette devient énorme et ça perd tout son intérêt)
[18:30:00] <Zeph> mais plus historiquement ça peut aussi venir d'une contrainte matérielle ; certaines consoles fonctionnent par palette et ne sont pas capables d'afficher plus de N couleurs à la fois [18:30:24] <Zeph> tu charges une palette dans une zone mémoire, et chaque pixel affiché ne peut être que de l'une des couleurs de cette palette

Alors, hein ? T'as de la chance que cette discussion n'était pas sous GPL, je t'aurais collé RMS au cul mon ptit bonhomme !!!

19

(et ma citation, alors ? mourn)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

20

[18:30:59] <@Zerosquare> (on va offrir un livre à colorier à Folco, ça devrait l'aider à comprendre le concept cheeky)

(KVIrc ressort les posts + auteurs très colorés, donc ton post ne me sautait plus aux yeux, après le pavé de Bob cheeky)

21

Merci ^^
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

22

23

cheeky

24

RHJPP (./14) :
Le PNG peut également utiliser une palette avec une couleur transparente.
Merci, je n'en étais plus certain.

25

[18:30:00] <Zeph> mais plus historiquement ça peut aussi venir d'une contrainte matérielle ; certaines consoles fonctionnent par palette et ne sont pas capables d'afficher plus de N couleurs à la fois
Et on arrivais même à des effets assez sympathique en modifiant la palette. Comme utiliser progressivement des palettes avec des couleurs plus sombre pour faire tomber la nuit.
avatar

26

Effectivement, en des temps où les mémoires vidéo étaient limitées, le mode indexé était aussi utilisé en matériel. Même sur PC, d'ailleurs, cf. le mode 13h introduit par le MCGA et géré aussi dans le VGA.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

27

Oué, et typiquement, c'était facile et rapide de faire des effets de plasma par exemple. Il suffisait de préparer le motif et de l'afficher, puis de faire une rotation des couleurs de la palette cheeky

28

qui avait posté ces superbes images exemples il y a quelque temps?

29

Mmm ? Aucune idée cheeky

30