Roxen.git/
server/
base_server/
roxen.pike
Branch:
Tag:
Non-build tags
All tags
No tags
1999-06-10
1999-06-10 23:39:20 by Per Hedbor <ph@opera.com>
b79be218e442515eaf22eb3bb707ceb22a415896 (
33
lines) (+
31
/-
2
)
[
Show
|
Annotate
]
Branch:
5.2
Fixes for alpha
Rev: server/base_server/roxen.pike:1.295
1:
/*
-
* $Id: roxen.pike,v 1.
294
1999/06/
08
03
:
22
:
33
mast
Exp $
+
* $Id: roxen.pike,v 1.
295
1999/06/
10
23
:
39
:
20
per
Exp $
* * The Roxen Challenger main program. *
7:
*/ // ABS and suicide systems contributed freely by Francesco Chemolli
-
constant cvs_version="$Id: roxen.pike,v 1.
294
1999/06/
08
03
:
22
:
33
mast
Exp $";
+
constant cvs_version="$Id: roxen.pike,v 1.
295
1999/06/
10
23
:
39
:
20
per
Exp $";
object backend_thread; object argcache;
1919:
reply = reply->img; }
+
if( args->gamma )
+
reply = reply->gamma( (float)args->gamma );
+
+
if( args["opaque-value"] )
+
{
+
int ov = (int)(((float)args["opaque-value"])*2.55);
+
if( ov < 0 )
+
ov = 0;
+
else if( ov > 255 )
+
ov = 255;
+
if( alpha )
+
{
+
object i = Image.image( reply->xsize(), reply->ysize(), ov,ov,ov );
+
i->paste_alpha( alpha, ov );
+
alpha = i;
+
}
+
else
+
{
+
alpha = Image.image( reply->xsize(), reply->ysize(), ov,ov,ov );
+
}
+
}
+
if( args->scale ) { int x, y;
1982:
switch(format) { case "gif":
+
if( alpha )
+
{
+
object ct = Image.Colortable( ({ ({ 0,0,0 }), ({ 255,255,255 }) }) );
+
ct->floyd_steinberg();
+
alpha = ct->map( alpha );
+
}
if( catch { if( alpha ) data = Image.GIF.encode_trans( reply, ct, alpha );