95 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
| <head>
 | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 | |
| <title>libimage: le canal alpha</title>
 | |
| <link rel="stylesheet" type="text/css" href="libimage.css">
 | |
| <meta name="generator" content="Vim et huile de phalange">
 | |
| <meta name="keywords" content="libimage, alpha, transparency, alpha mask, alphachannel">
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
| 
 | |
| <h1><a name="top">libimage / le canal alpha</a></h1>
 | |
| 
 | |
| <p align=center>
 | |
| <tt>dernière mise à jour: 25 octobre 2013</tt><br>
 | |
| </p>
 | |
| 
 | |
| <p class="menuhaut">
 | |
| [<a href="libimage.html">libimage</a>]
 | |
| [<a href="#liens">liens</a>]
 | |
| [<a href="img-devel.html#contribuer">contribuer</a>]
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| A vrai dire, je suis un peu désolé de vous proposer une page ouaibe
 | |
| dont le contenu est presque totalement absent.  Il faut avouer que
 | |
| l'écriture de cette doc devient de plus en plus bordélique. Et je
 | |
| n'ose pas imaginer le foutoir que ça va être quand je vais vouloir
 | |
| faire une traduction en anglais :)
 | |
| </p>
 | |
| 
 | |
| <p>
 | |
| Le deuxieme problême, et sûrement le plus grave, c'est que je n'ai jamais
 | |
| été fixé sur la signification d'un octet <i>alpha</i>: la valeur 255
 | |
| est-elle transparence absolue, ou pas de transparence du tout ?
 | |
| </p>
 | |
| 
 | |
| <dl class="proto">
 | |
| 
 | |
| <dt>int Image_add_alpha_channel(Image_Desc *img, int value);
 | |
| <dd>Rajoute un plan 'alpha' non initialisé a une image de type RGB. Retourne
 | |
|  le <a href="img-devel.html#return">code d'erreur</a> VERY_STRANGE si il y a
 | |
|  déja un canal alpha.
 | |
| 
 | |
| <dt>int Image_kill_alpha_channel(Image_Desc *img);
 | |
| <dd>Détruit un éventuel canal 'alpha' ou retourne VERY_STRANGE en cas de 
 | |
|  doute ou d'incertitude.
 | |
| 
 | |
| 
 | |
| <dt>int Image_RGBA_over_RGB(Image_Desc *rgba, Image_Desc *src,
 | |
|  Image_Desc *dst);
 | |
|  <dd>Pour voir cette fonction en service, vous devez aller fouiller dans les
 | |
|  sources de <i>Debian vs. eEmpire</i>, plus précisement dans <i>finisher.c</i>.
 | |
| 
 | |
| <dt>int Image_alpha_op_0(Image_Desc *src, Image_Desc *dst, int v1, int v2,
 | |
| 		    int rb, int rt, int gb, int gt, int bb, int bt,
 | |
| 		    int param);
 | |
| <dd>given two levels by RGB component, this func build an alpha
 | |
|   binary mask where pixels in the 3 RGB intervals have the v1
 | |
|   alpha value, and all others have the v2 alpha value.<br>
 | |
|   C'est clair, non ?
 | |
| 
 | |
| <dt>Image_alpha_reduce(Image_Desc *src, Image_Dest *dst, int yo);
 | |
| <dd>Pour chaque pixel, les valeurs r, g et b sont mises à l'échelle par
 | |
|  la valeur alpha du pixel.
 | |
| 
 | |
| <dt>int Image_poke_alpha_from_rgb(Image_Desc *src, Image_Desc *dst, 
 | |
|  int fr, int fg, int fb, int flag);
 | |
| <dd>
 | |
| 
 | |
| </dl>
 | |
| 
 | |
| <p>
 | |
| Vous constaterez, à la lecture des lignes précédentes, que je ne sais
 | |
| pas encore bien gérer la transparence. 
 | |
| </p>
 | |
| 
 | |
| 
 | |
| <p align=right><a href="#top">haut de page</a></p>
 | |
| <h2><a name="liens">liens</a></h2>
 | |
| 
 | |
| <tt><b>TROLL</b>: pour l'Alpha, le mieux, c'est
 | |
| <a href="http://www.digital.com/">DEC</a></tt>
 | |
| 
 | |
| <p align=right><a href="#top">haut de page</a></p>
 | |
| 
 | |
| <p class="footer">
 | |
| vous pouvez me contacter
 | |
| <a href="http://tboudet.free.fr/cv.html">par là</a><br>
 | |
| Votre demande est transparente: je pense avant de coder.<br>
 | |
| <a href="#top">haut de page</a></p>
 | |
| 
 | |
| </body>
 | |
| </html>
 | 
