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>
|