libtthimage/Docs/img-alpha.html
2022-06-26 12:22:12 +02:00

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>